Tôi đã thử hai cách để thực hiện việc này cho đến nay.Làm cách nào để có được mô tả về quy trình đang chạy trên máy từ xa?
Cách đầu tiên, tôi đã sử dụng System.Diagnostics
, nhưng tôi nhận được NotSupportedException
của "Tính năng không được hỗ trợ cho máy từ xa" trên MainModule
.
foreach (Process runningProcess in Process.GetProcesses(server.Name))
{
Console.WriteLine(runningProcess.MainModule.FileVersionInfo.FileDescription);
}
Cách thứ hai, tôi đã cố gắng sử dụng System.Management
nhưng có vẻ như rằng Description
của ManagementObject
là cô giống như 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());
}
Có ai biết cách nào tốt hơn để tìm hiểu mô tả quy trình đang chạy trên máy từ xa không?
Bạn đã thử sử dụng wmigen của Rob van der Woude chưa? Nó có thể giúp hiển thị những gì có sẵn. http://www.robvanderwoude.com/wmigen.php – Lizz
@Lizz Tôi đã thử lặp qua các thuộc tính của obj và kiểm tra xem Property.ToString() có chứa một từ khóa cần có trong mô tả của một trong những quy trình mà tôi đang tìm kiếm ... – athom
Yikes. Xin lỗi, không thể nghĩ ra bất cứ điều gì khác. :(Điều này thật thú vị - và kỳ lạ. +1 cho mã tốt và xử lý sự cố! :) – Lizz