获取有关运行进程的信息

时间:2010-01-21 21:50:52

标签: c# winapi multithreading

我需要在某些机器上启动监视器以找出锁定它的进程。 所以我想要的是记录您在任务管理器上可以找到的有关每个执行过程的相同信息 到目前为止,我可以使用C#Process Class获取处理器时间信息,但我也想知道它使用了多少内存。查看给定的应用程序或进程是否“无响应”也非常有用 关于如何获得所有信息的任何想法。 (System.Events也可以提供帮助吗?)

2 个答案:

答案 0 :(得分:2)

我同意Nick的观点,WMI是您获取详细流程信息的最佳选择。

但也有一些你可能感兴趣的东西,Powershell(随Windows 7提供,可以下载到其他操作系统)不仅支持WMI,而且还将WMI工件呈现为对象,您可以通过管道运行linq查询进入其他powershell调用等,它也完全可编程和/或可编写脚本,这是非常酷的技术,非常值得学习....但......这是一个合理的学习时间投入。

Power shell Msdn site

答案 1 :(得分:0)

我认为最好的办法是使用WMI并获取Win32_Process类的所有实例。您可以使用ManagementObjectSearcher获取所有Win32_Process实例。