当Windows启动时,如何使您的表单(应用程序)开始运行?

时间:2010-07-22 06:45:03

标签: c# windows startup

我使用C#3.0创建了一个应用程序。我需要该应用程序在Windows启动时连续启动和运行。设置和安装应用程序后,应该执行此过程。 请提出您的建议。

5 个答案:

答案 0 :(得分:4)

如果您需要在Windows启动并持续运行时启动应用程序,它应该是Windows服务。您将无法将GUI和Windows作为同一应用程序/项目的一部分,您需要单独编写并与服务进行通信。

如果您希望它连续运行而不是停止,那么普通的Windows窗体应用程序将无法执行此操作:当然,用户可以关闭它。他们也可以关闭服务,但您可以配置(在“恢复”选项卡上)如果“失败”则重新启动(在任务管理器中被终止)。他们仍然可以手动停止服务 - 但不是那么容易。

这是Visual Studio内置的项目模板。根据您的应用程序正在执行的操作,通常最好创建一个Thread对象的实例,并将您的逻辑放在一个在新线程上执行的循环中。通过OnStart线程本身的OnStopService方法,您可以创建线程,或发出信号停止(或简单地Abort)。

通过右键单击设计器中的服务,您可以“添加安装程序”,这意味着如果您使用应用程序的名称运行installutil,则将安装该服务,如果您设置了正确的服务Service和Installer上的属性自动运行。

就您是否需要用户界面而言 - 您必须想出一些与该服务对话的UI方式;您可以使用命名管道,内存映射文件,或者您可以将WCF(.NET 3.5+)与命名管道/ TCP提供程序一起使用,并直接调用它。

供参考:

  

http://msdn.microsoft.com/en-us/library/aa984464(VS.71).aspx

希望有所帮助。

答案 1 :(得分:3)

将其设为Windows服务,并自动启动。或者,如果您只关心用户何时登录,请将其放在共享的启动文件夹中,以便为每个用户启动。

答案 2 :(得分:3)

如何在安装中将程序添加到启动文件夹?创建设置项目时,只需将主程序输出的快捷方式添加到目标PC的启动文件夹中。

答案 3 :(得分:0)

您使用的是什么安装应用?它们通常具有内置的功能。

如果您想在c#代码中执行此操作,则必须在注册表中进行编辑。 Read this article.(我想你还需要manifest中的管理员权限才能做到这一点)

答案 4 :(得分:-1)

在OnStart(){......}中使用WindowService,您将编写代码来启动应用程序