Практическое руководство. Остановка процессов
Обновлен: Ноябрь 2007
Существует два метода, которые можно использовать для остановки процесса с помощью компонента Process. Используемый метод зависит от типа останавливаемого процесса.
Если процесс имеет графический пользовательский интерфейс, вызовите метод CloseMainWindow. Этот метод отправляет главному окну процесса запрос на закрытие и работает точно так же, как команда "Закрыть" пользовательского интерфейса. Использование данного метода позволяет конечной программе предложить пользователю сохранить все несохраненные данные во время операции очистки.
Если процесс не имеет графического пользовательского интерфейса, вызовите метод Kill.
Внимание!
Вызов метода Kill останавливает процесс незамедлительно без предложения сохранить измененные данные. Все несохраненные данные будут потеряны.
Если необходимо, чтобы компонент был извещен о завершении процесса операционной системой, следует установить для свойства EnableRaisingEvents значение true. Свойство EnableRaisingEvents используется в асинхронной обработке для уведомления приложения о завершении процесса.
Остановка процесса
Вызовите метод GetProcessesByName для извлечения процесса, который требуется остановить.
Дополнительные сведения см. в разделе Практическое руководство. Привязка к существующим процессам.
Вызовите один из следующих методов:
Если процесс имеет пользовательский интерфейс, вызовите метод CloseMainWindow.
Если процесс безоконный, вызовите метод Kill.
В следующем примере показано, как вызвать метод CloseMainWindow, чтобы закрыть все экземпляры программы Блокнот, запущенные на локальном компьютере:
Dim myProcesses() As Process Dim myProcess As Process ' Returns array containing all instances of "Notepad". myProcesses = Process.GetProcessesByName("Notepad") For Each myProcess In myProcesses myProcess.CloseMainWindow() Next
Process[] myProcesses; // Returns array containing all instances of Notepad. myProcesses = Process.GetProcessesByName("Notepad"); foreach (Process myProcess in myProcesses) { myProcess.CloseMainWindow(); }
См. также
Задачи
Практическое руководство. Привязка к существующим процессам
Основные понятия
Знакомство со способами наблюдения за процессами Windows и управлением этими процессами