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