방법: 프로세스 구성 요소 속성 새로 고침

업데이트: 2007년 11월

Process 구성 요소의 속성은 캐시에 저장됩니다. 이 속성은 구성 요소가 바인딩되는 프로세스의 속성 값을 저장하는 데 사용됩니다.

이 속성은 프로세스에서 첫 번째 속성을 요청할 때까지는 채워지지 않습니다. 이때 구성 요소는 캐시된 속성을 바인딩되는 프로세스의 속성 값으로 채우고 다음 속성 값을 요청할 때 이 정보를 갱신하지 않습니다.

현재 속성 값을 보려면 프로세스의 속성 값을 요청하기 전에 Process 구성 요소의 Refresh 메서드를 호출해야 합니다. Refresh 메서드를 호출하면 구성 요소의 속성에 있는 값이 대상 프로세스의 속성에 있는 현재 데이터로 바뀝니다.

Process 구성 요소 속성을 새로 고치려면

  1. 프로그래밍 방식으로 프로세스의 인스턴스를 만들거나 디자인 뷰에서 Process 구성 요소를 프로젝트에 추가하여 프로세스의 인스턴스를 만듭니다. 자세한 내용은 방법: 기존 프로세스에 바인딩을 참조하십시오.

  2. 속성 정보를 검색하기 전에 프로세스 속성이 변경되면 Refresh 메서드를 호출합니다.

  3. 원하는 프로세스 정보를 읽을 수 있도록 속성을 설정하고 반환된 값을 변수에 할당합니다.

    다음 예제에서는 메모장의 인스턴스를 연 다음 Refresh 메서드를 호출하여 구성 요소의 속성을 업데이트하는 방법을 보여 줍니다. 이 코드에서는 구성 요소의 업데이트된 WorkingSet64 속성을 읽고 관련 프로세스에 할당된 전체 메모리 크기를 반환합니다. 그러면 업데이트된 속성 값이 콘솔 화면에 2초 간격으로 여섯 번 표시됩니다. 콘솔은 프로시저가 종료된 다음 5초 동안 열려 있습니다.

    Dim Notepad As New Process()
    Dim i As Integer
    Notepad = Process.Start("Notepad.exe")
    For i = 0 To 5
        ' Forces the Process component to get a new set of property values.
        Notepad.Refresh()
        ' Writes the property value to the console screen.
        Console.WriteLine(Notepad.WorkingSet64)
        ' Waits two seconds before running the next loop.
        System.Threading.Thread.Sleep(2000)
    Next
    ' Closes Notepad and waits 5 seconds before closing the console screen.
    Notepad.CloseMainWindow()
    System.Threading.Thread.Sleep(5000)
    
         Process notepad;
            notepad = Process.Start("Notepad");
            for (int i = 0; i < 5; i++)
            {
                // Forces the Process component to get a new set 
                // of property values.
                notepad.Refresh();
                // Writes the property value to the console screen.
                Console.WriteLine(notepad.WorkingSet64.ToString());
                // Waits two seconds before running the next loop.
                System.Threading.Thread.Sleep(2000);
            }
            // Closes Notepad and waits 5 seconds before closing 
            // the console screen.
            notepad.CloseMainWindow();
            System.Threading.Thread.Sleep(5000);
    

참고 항목

작업

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

방법: 실행 중인 프로세스 보기

개념

Windows 프로세스 모니터링 및 관리 소개

기타 리소스

Windows 프로세스 모니터링 및 관리