Ich versuche, einen Prozess auf einem Remote-Computer zu töten, aber es funktioniert nicht, und ich bekomme keine Fehler. Ich verwende diesen Code:Wie kill Prozess auf Remote-Computer mit 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);
Der Computername ist txtMaquina.Text
und die Prozessnamen, ich bin eine Idee habe, auf einem ListView
Jemand aus einem ausgewählten Elemente zu bekommen, was hier falsch ist?
möglich Duplikat [Es kann keinen Prozess # mithilfe von WMI und C aus der Ferne beenden] (http://stackoverflow.com/questions/18993363/unable- to-remote-terminate-a-process-using-wmi-und-c-sharp) – BugFinder
'lstProcessos.SelectedItem.ToString()' ist wahrscheinlich inkorrekt .. es gibt wahrscheinlich den Typ name .. (aka 'ListViewItem'). Klarerweise ist das nicht, was Sie wollen .. ListViews können ziemlich komplexe Steuerelemente sein (das heißt, wenn dies ein Listbox-Steuerelement wäre, hätte das selectedItem wahrscheinlich eine 'Text'-Eigenschaft.) –
wenn Sie das Steuerelement binden Der Wert befindet sich in der Regel in der Eigenschaft dataItem. was Sie explizit von Objekt zu String umsetzen werden ..... setzen Sie einfach einen Debug-Punkt und schauen Sie sich die 'lstProcessos.SelectedItem'-Instanz an (mit Local/Watch windows .. oder mit dem Mauszeiger über das Code-Snippet selbst .. oder mit die unvergängliche Konsole .. –