C# 如何在服务中捕获应用程序启动?

C# 如何在服务中捕获应用程序启动?,c#,process,windows-services,C#,Process,Windows Services,尝试使用VS 2012创建windows服务。默认情况下,该服务有3种方法: Constructor(say MyService) OnStart OnStop 但当我在构造函数中放入一些代码时,看起来它只运行了一次 我想要的是:当应用程序从windows启动时,例如notepad.exe,我可以捕获它。 我应该在构造函数中设置一个死循环来监视进程列表吗?我认为服务应该像死循环一样持续。 那么,当一个应用程序启动它时,如何在MyService中捕获它呢 我应该在构造函数中设置一个死循环来监视进

尝试使用VS 2012创建windows服务。默认情况下,该服务有3种方法:

Constructor(say MyService)
OnStart
OnStop
但当我在构造函数中放入一些代码时,看起来它只运行了一次

我想要的是:当应用程序从windows启动时,例如notepad.exe,我可以捕获它。 我应该在构造函数中设置一个死循环来监视进程列表吗?我认为服务应该像死循环一样持续。 那么,当一个应用程序启动它时,如何在MyService中捕获它呢

我应该在构造函数中设置一个死循环来监视进程列表吗

不,这是在
OnStart()
中。基本伪代码是:

  • 启动:
    • 设置监控
    • 开始吧
  • 监测:
    • while(true)监视进程
    • 如果(停止信号)退出
  • 顶上
    • 向监控对象发出停止信号

什么是“死循环”?什么是“死循环”?我想他指的是
而(真的){}
循环。。。不确定..在
OnStart
中设置一个无休止的循环不是一个好主意,因此,不,在
OnStart
中进行循环会产生误导。必须指出的是,在
OnStart
中启动的监视是异步工作的,因此服务会不断接收命令!谢谢应用程序启动时可以捕获什么信号?把监控放在哪里?将代码放入构造函数和OnStart有什么区别?