C#处理启动和停止服务

时间:2011-10-24 16:55:47

标签: c# windows process

  

可能重复:
  C# Process Monitor

我正在尝试编写一个Windows服务,用于检测我的某个服务器上的启动和关闭进程。如果我自己启动应用程序,而不是其他进程,我似乎可以使用Process对象轻松获取此信息。这听起来像是一种写作的服务,但没有取得任何进展。

2 个答案:

答案 0 :(得分:0)

您最好的选择是使用WMI。对该远程服务器进行RPC调用,正确进行身份验证,并使用WMI进行查询以检索正在运行的进程。

答案 1 :(得分:0)

您可以使用OpenProcess功能为当前运行的每个进程打开进程句柄。您只需要进程ID即可。然后,您可以在任何等待函数中使用进程句柄;当相应的进程退出时,它们会发出信号。

检测新进程的启动时间更难。如果轮询新进程不满意,则需要编写设备驱动程序并使用PsSetCreateProcessNotifyRoutine函数。