共用方式為


HOW TO:重新整理處理序元件屬性

更新:2007 年 11 月

Process 元件的屬性是儲存在快取區中。這些屬性是用於儲存處理序 (與元件繫結) 的屬性值。

這些屬性是直到您從處理序傳送第一個屬性要求時才會填入。此時元件會將其繫結處理序的屬性值填入它的快取屬性。當提出後續屬性值要求時,元件並不會更新這資訊。

若要檢視目前的屬性值,您必須在要求處理序的屬性值之前,先呼叫 Process 元件的 Refresh 方法。當您呼叫 Refresh 方法時,目標處理序屬性的目前資料會取代元件屬性中的值。

若要重新整理 Process 元件屬性

  1. 以程式設計的方式或是藉由在設計檢視中將 Process 元件加入專案的方式,來建立處理序的執行個體。如需詳細資訊,請參閱 HOW TO:繫結至現有的處理序

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

請參閱

工作

HOW TO:繫結至現有的處理序

HOW TO:檢視執行中的處理序

概念

監視和管理 Windows 處理序的簡介

其他資源

監視和管理 Windows 處理序