Я пытаюсь убить процесс на удаленном компьютере, но он не работает, и я не получаю никаких ошибок. Я использую этот код:Как убить процесс на удаленном компьютере с помощью 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);
Имя компьютера txtMaquina.Text
и имя процесса я получаю от выбранного пункта на ListView
Кто-то есть идея, что случилось здесь?
возможно дубликат [Невозможно удаленно прервать процесс с помощью WMI и C#] (http://stackoverflow.com/questions/18993363/unable- to-remote-terminate-a-process-using-wmi-and-c-sharp) – BugFinder
'lstProcessos.SelectedItem.ToString()', вероятно, неверен. Вероятно, он возвращает имя типа .. (aka 'ListViewItem'). Очевидно, это не то, что вы хотите. ListViews могут быть довольно сложными элементами управления (то есть, если это был элемент управления списком, у выбранного элемента, вероятно, было бы свойство «Text» на нем.) –
, если вы привязываете элемент управления , значение обычно находится в свойстве dataItem; который вы будете явно отбрасывать из объекта в строку ..... просто отложите точку отладки и посмотрите на экземпляр 'lstProcessos.SelectedItem' (используя локальные окна/окна просмотра или нависая над самим фрагментом кода .. или используя undeidate console .. –