방법: 프로세스의 응답 여부 확인

업데이트: 2007년 11월

Responding 속성을 사용하여 프로세스의 사용자 인터페이스가 응답하는지 여부를 확인할 수 있습니다. Responding 속성을 읽으려고 할 경우 해당 요청이 대상 프로세스의 사용자 인터페이스로 전달됩니다. 인터페이스에서 즉시 응답하면 반환 속성 값이 true이고 응답이 없으면 false 속성 값이 반환됩니다. 이 속성은 응답이 없는 응용 프로그램을 강제로 닫을 경우에 유용합니다.

프로세스의 응답 여부를 확인하려면

  1. 프로세스가 구성 요소로 시작되지 않은 경우 Process 구성 요소를 대상 프로세스와 연관시킵니다. 자세한 내용은 방법: 기존 프로세스에 바인딩을 참조하십시오.

  2. Responding 속성을 읽습니다.

  3. 속성 값에 따라 취할 동작을 결정합니다.

    다음 예제에서는 메모장에서 응답하는지 여부를 확인하는 방법을 보여 줍니다. 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();
            }
    

참고 항목

작업

방법: 프로세스 지정

방법: 프로세스 중지

방법: 기존 프로세스에 바인딩

기타 리소스

프로세스에 대한 정보 검색

프로세스 관리