如何捕获服务中的应用启动?

时间:2012-12-12 16:32:19

标签: c# process windows-services

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

Constructor(say MyService)
OnStart
OnStop

但是当我在构造函数中放入一些代码时,看起来它只运行一次。

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

1 个答案:

答案 0 :(得分:0)

  

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

不,那是OnStart()。基本伪代码是:

  • 的OnStart:
    • 设置监控
    • 启动它
  • 监测:
    • while(true)监视进程
    • if(停止信号)退出
  • 调用OnStop
    • 向监控对象发出停止信号