Como: Determinar se um processo está respondendo
Você pode usar o Responding propriedade para determinar se a interface do usuário de um processo está respondendo. Quando você tenta ler o Responding propriedade, uma solicitação é enviada para a interface do usuário do processo de destino. Se houver uma resposta imediata, o valor da propriedade retorno é true; um false o valor da propriedade será retornado se não houver resposta da interface. Esta propriedade é útil se você precisar forçar um aplicativo congelado para fechar.
Para determinar se um processo está respondendo
Se o processo não foi iniciado com um componente, associar um Process componente para o processo de destino. Para obter mais informações, consulte Como: BIND a processos existentes.
Leia o Responding propriedade.
Determine um curso de ação a ser tomada dependendo do valor da propriedade.
O exemplo a seguir mostra como determinar se o bloco de notas está respondendo.Se o Responding propriedade é true, ligue para o CloseMainWindow método para fechar o aplicativo. Se o Responding propriedade é false , o M:System.Diagnostics.Process.Kill método é chamado para forçar o processo para fechar.
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(); }
Consulte também
Tarefas
Como: BIND a processos existentes