C#进程启动和停止服务

本文关键字:服务 进程 启动 | 更新日期: 2023-09-27 18:12:08

可能重复:
C#过程监视器

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

C#进程启动和停止服务

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

您可以使用OpenProcess函数为当前运行的每个进程打开一个进程句柄。您所需要的只是进程ID。然后,您可以在您喜欢的任何等待函数中使用流程句柄;当相应的进程退出时,它们变为信号。

检测新进程何时启动比较困难。如果对新进程的轮询不令人满意,则需要编写一个设备驱动程序并使用PsSetCreateProcessNotifyRoutine函数。