Tôi đang cố gắng để giết một quá trình trên một máy tính từ xa, nhưng nó không hoạt động, và tôi không nhận được bất kỳ lỗi nào. Tôi đang sử dụng mã này:Làm thế nào để giết quá trình trên máy tính từ xa với wmi
ManagementScope scope = new ManagementScope("\\\\" + txtMaquina.Text + "\\root\\cimv2");
scope.Connect();
ObjectQuery query = new ObjectQuery("select * from Win32_process where name = '" + lstProcessos.SelectedItem.ToString() + "'");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
ManagementObjectCollection objectCollection = searcher.Get();
foreach (ManagementObject managementObject in objectCollection)
managementObject.InvokeMethod("Terminate", null);
Tên máy tính là txtMaquina.Text
và tên quá trình tôi nhận được từ một sản phẩm được chọn vào một người ListView
có bất cứ ý tưởng gì là sai ở đây?
thể trùng lặp của [Không thể chấm dứt từ xa một quá trình sử dụng WMI và C#] (http://stackoverflow.com/questions/18993363/unable- đến từ xa-chấm dứt-một-quá trình-sử dụng-wmi-và-c-sắc nét) – BugFinder
'lstProcessos.SelectedItem.ToString()' có lẽ là không chính xác .. nó có thể trả về tên Type .. (aka 'ListViewItem'). Rõ ràng đó không phải là những gì bạn muốn .. ListViews có thể được điều khiển khá phức tạp (có nghĩa là, Nếu đây là một điều khiển hộp danh sách, các selectedItem có lẽ sẽ có một tài sản 'Text' trên nó ..) –
nếu bạn đang ràng buộc kiểm soát , giá trị thường nằm trong thuộc tính dataItem; mà bạn sẽ đưa một cách rõ ràng từ đối tượng vào chuỗi ..... chỉ cần đặt một điểm gỡ lỗi xuống và nhìn vào thể hiện 'lstProcessos.SelectedItem' (sử dụng các cửa sổ Local/Watch .. hoặc di chuột qua đoạn mã đó .. hoặc sử dụng các giao diện immeidate .. –