C# Windows启动时运行程序(登录前)
我想知道在登录windows之前是否可以运行我的应用程序。?它实际上是一个WinForm应用程序(最好不是Windows服务)C# Windows启动时运行程序(登录前),c#,.net,C#,.net,我想知道在登录windows之前是否可以运行我的应用程序。?它实际上是一个WinForm应用程序(最好不是Windows服务) 我的意思是,我的应用程序在登录之前就必须运行,并且应该放在系统托盘上,我可以从中“显示”或为用户打开界面。这篇MS文章可能会有所帮助,但它有点过时: 不过,希望它能让您走上正轨。您可以使用Windows任务调度器在计算机开机时安排运行任何应用程序。这里有一个相应的选项。 但你为什么需要这个?您应该为此使用服务。我认为,在用户登录系统之前获取用户输入是没有意义的。因此,
我的意思是,我的应用程序在登录之前就必须运行,并且应该放在系统托盘上,我可以从中“显示”或为用户打开界面。这篇MS文章可能会有所帮助,但它有点过时:
不过,希望它能让您走上正轨。您可以使用Windows任务调度器在计算机开机时安排运行任何应用程序。这里有一个相应的选项。
但你为什么需要这个?您应该为此使用服务。我认为,在用户登录系统之前获取用户输入是没有意义的。因此,如果应用程序需要用户输入,为什么要在用户登录之前启动它?如果应用程序刚刚开始一些后台工作,那么您应该使用windows服务,因为这是windows中首选的方式。要有:
- 在系统启动和用户登录之间发生了一些事情
- 通知区域中供用户交互的图标
运行gpedit.msc
,用于集团策略,
您可以在那里设置启动脚本。
应用程序将在Windows登录之前启动,
生产步骤:-
Start --> Run --> gpedit.msc --> Local Computer Policy --> Windows Settings --> Script (Startup/ShutDown),
添加您的.exe
它将在登录前启动。
不要在组策略中尝试更多,这可能会对系统有害
通过编程逻辑,
尝试使用注册表项
此值正在注册表中更新,
通过我们的程序,我们可以直接更新注册表,然后我们可以调用应用程序为什么不让它成为一项服务?服务不应该与桌面交互,这对winform应用程序来说可能是一件坏事…您需要将其重新设计为一项服务,IMO@Sisya,根据我的回答,你必须写两个独立的部分。请参阅以了解原因(某种程度上)!是的,Rob就是write,在登录之前运行的程序不会出现在托盘中,但您可以编写服务并编写与服务交互的托盘应用程序。我的意思是,我的应用程序必须在登录之前运行,它应该位于系统托盘上,我可以从中“显示”或为用户打开界面。我不这么认为,此方法实际上在Shell之前运行,因此在GUI加载之后但在Explorer加载之前。它确实指出,您的程序必须启动资源管理器才能让windows继续运行。如果在Vista或更高版本上运行计划任务,则比使用服务更好,并且您无需修改代码。这将允许在需要时在管理员帐户下运行程序,同时仍然有一个UI,但我强烈建议将其拆分,以便UI在用户帐户下运行,并在需要时使用WCF与托盘图标通信。我们通过使用单个主应用程序并扫描“-service”参数来拆分应用程序如果我们找到它,服务就会启动。如果我们不这样做,我们将启动用户界面。如果你想把你自己的信息放在你的个人资料页面上。