Я могу уничтожить рабочие процессы, которые обнаруживаются в диспетчере задач, но существуют некоторые игры как KnightOnline и Metin2, которые не обнаруживаются в диспетчере задач и таким образом, я не могу уничтожить их. Я искал решение, но не мог найти. Это - программное обеспечение интернет-кафе, и я просто хочу закрыть все программы и игры, когда клиент уезжает так, чтобы у нового клиента был новый рабочий стол.
Как окна автоматически закрывает все, я думал об окончании сессии и reloging, но это, кажется, не легко и не лучший способ.
Ожидание ценных комментариев
Используйте ProcessExplorer - http://technet.microsoft.com/en-us/sysinternals/bb896653, чтобы проверить все процессы и закрыть то, что Вы хотите. Это должно показать Вам каждое приложение на каждой учетной записи - если Вы имеете права администратора, конечно.
Для уничтожения его программно проверяют это сообщение: https://stackoverflow.com/questions/1642231/how-to-kill-a-c-process
Когда Вы не знаете название процесса, но Вы знаете название исполняемого файла, который выполняется на Вашем компьютере (C:...\Metin.exe) затем, можно выполнить итерации посредством всех процессов и искать процесс, который в списке загруженных модулей (Свойство Modules) имеет модуль с названием исполняемого файла (Свойство FileName в классе ProcessModule). Возможно, это помогает.
Если Вы не можете найти свое применение на вкладке Applications затем в переключателе Диспетчера задач к второй вкладке "Processes", находят, что Ваш процесс требуемого приложения затем нажимает "End Process", обычно все процессы имеют имена, подобные их приложениям, видят изображение ниже:
Существует Kill
метод в Process
. Можно использовать его таким способом:
var procs = System.Diagnostics.Process.GetProcesses(); // Get all processes in the system
procs[0].Kill();
Существует также метод GetProcessesByName, со справкой которого можно получить, прецессирует их именами:
var procs = System.Diagnostics.Process.GetProcessesByName("firefox");
Из командной строки делают
"tasklist | more"
обратите внимание на PID (например, 123)
для уничтожения объекта делают
"taskkill /f /pid 123"
Преимущество - то, что эти команды также работают над удаленными системами.
"tasklist /s <systemname> /u <domain>\<user>"
то же для taskkill