Cómo: Determinar si un proceso responde

Actualización: noviembre 2007

Puede utilizar la propiedad Responding para determinar si la interfaz de usuario de un proceso responde. Cuando intenta leer la propiedad Responding, se envía una solicitud a la interfaz de usuario del proceso de destino. Si hay una respuesta inmediata, el valor devuelto de la propiedad es true; si no hay respuesta de la interfaz, se devuelve un valor de propiedad false. Esta propiedad es útil si se necesita forzar el cierre de una propiedad congelada.

Para determinar si un proceso responde

  1. Si el proceso no ha sido iniciado por un componente, asocie un componente Process al proceso de destino. Para obtener más información, vea Cómo: Enlazar con procesos existentes.

  2. Lea la propiedad Responding.

  3. Determine el curso de acción a emprender sobre la base del valor de la propiedad.

    El ejemplo siguiente muestra cómo se determina si Notepad responde. Si el valor de la propiedad Responding es true, llame al método CloseMainWindow para cerrar la aplicación. Si el valor de la propiedad Responding es false, se llama al método M:System.Diagnostics.Process.Kill para forzar el cierre del proceso.

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

Vea también

Tareas

Cómo: Especificar procesos

Cómo: Detener procesos

Cómo: Enlazar con procesos existentes

Otros recursos

Recuperar información sobre procesos

Administrar procesos