Практическое руководство. Проверка отклика процесса
Обновлен: Ноябрь 2007
Свойство Responding позволяет определить, отвечает ли пользовательский интерфейс процесса на запросы. При попытке чтения свойства Responding пользовательскому интерфейсу соответствующего процесса отправляется запрос. При получении немедленного ответа свойство возвращает значение true; а если отклика от интерфейса нет, возвращается значение false. Это свойство используется в том случае, когда необходимо принудительно закрыть зависшее приложение.
Проверка отклика процесса
Если процесс не был запущен при помощи компонента Process, свяжите его с соответствующим процессом. Дополнительные сведения см. в разделе Практическое руководство. Привязка к существующим процессам.
Просмотрите значение свойства Responding.
Определите порядок действий в зависимости от значения свойства.
В следующем примере показано, как определить, отвечает ли программа Блокнот на запросы. Если свойство Responding имеет значение true, вызовите метод CloseMainWindow, чтобы закрыть приложение. Если свойство Responding имеет значение false, для принудительного завершения процесса используется метод M:System.Diagnostics.Process.Kill.
Dim myProcesses() As Process myProcesses = Process.GetProcessesByName("Notepad.exe") ' Tests the Responding property for a True return value. If myProcesses(0).Responding Then myProcesses(0).CloseMainWindow() Else ' Forces the process to close if the Responding value is False. myProcesses(0).Kill() End If
Process[] notepads; notepads = Process.GetProcessesByName("Notepad.exe"); // Test to see if the process is responding. if (notepads[0].Responding) { notepads[0].CloseMainWindow(); } else { notepads[0].Kill(); }
См. также
Задачи
Практическое руководство. Назначение процессов
Практическое руководство. Остановка процессов
Практическое руководство. Привязка к существующим процессам