Condividi tramite


Procedura: determinare se un processo risponde

Aggiornamento: novembre 2007

È possibile utilizzare la proprietà Responding per determinare se l'interfaccia utente di un processo risponde. Quando si tenta di leggere la proprietà Responding, viene inviata una richiesta all'interfaccia utente del processo di destinazione. In caso di risposta immediata, viene restituito il valore true. Se dall'interfaccia non viene fornita alcuna risposta, viene restituito il valore false. Questa proprietà risulta utile nel caso in cui sia necessario forzare la chiusura di un'applicazione bloccata.

Per determinare se un processo risponde

  1. Se il processo non è stato avviato con un componente, associare un componente Process al processo di destinazione. Per ulteriori informazioni, vedere Procedura: eseguire l'associazione a processi esistenti.

  2. Leggere la proprietà Responding.

  3. Determinare quali operazioni eseguire in base al valore della proprietà.

    Nell'esempio riportato di seguito viene illustrato come determinare se il Blocco note risponde. Se la proprietà Responding restituisce true, chiamare il metodo CloseMainWindow per chiudere l'applicazione. Se la proprietà Responding restituisce false, viene chiamato il metodo M:System.Diagnostics.Process.Kill per imporre la chiusura del processo.

    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();
            }
    

Vedere anche

Attività

Procedura: specificare i processi

Procedura: arrestare i processi

Procedura: eseguire l'associazione a processi esistenti

Altre risorse

Recupero di informazioni sui processi

Gestione di processi