8
我已经尝试了两种方法来完成此目的。如何获取远程计算机上正在运行的进程的描述?
第一种方法,我用System.Diagnostics
,但我得到NotSupportedException
的“功能不支持远程机器”的MainModule
。
foreach (Process runningProcess in Process.GetProcesses(server.Name))
{
Console.WriteLine(runningProcess.MainModule.FileVersionInfo.FileDescription);
}
第二种方式,我试图用System.Management
但似乎ManagementObject
的Description
是她同为Name
。
string scope = @"\\" + server.Name + @"\root\cimv2";
string query = "select * from Win32_Process";
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
ManagementObjectCollection collection = searcher.Get();
foreach (ManagementObject obj in collection)
{
Console.WriteLine(obj["Name"].ToString());
Console.WriteLine(obj["Description"].ToString());
}
是否有人会知道更好的方法来获取远程计算机上正在运行的进程的描述?
您是否尝试过使用Rob van der Woude的wmigen?它可能有助于显示可用的内容。 http://www.robvanderwoude.com/wmigen.php – Lizz
@Lizz那么我已经尝试循环obj的属性,并检查Property.ToString()是否包含应该在描述中的关键字我正在寻找的过程之一... – athom
哎呀。对不起,想不到别的。 :(这很有趣 - 而且很奇怪。+ +1代码和故障排除功能!:) – Lizz