方法 : プロセスのスレッド使用状況を調べる

更新 : 2007 年 11 月

Process コンポーネントの Threads プロパティ値を読み取ることにより、プロセスのスレッドを表示できます。戻り値は、ProcessThreadCollection 型の値です。この値には、プロセスで現在動作中のオペレーティング システム スレッドを表す ProcessThread オブジェクトのコレクションが含まれています。このコレクションを反復処理して、個々のスレッド プロパティを調べることができます。プライマリ スレッドは、必ずしもコレクションのインデックス 0 のスレッドではありません。

プロセスのスレッド使用状況を調べるには

  1. 目的のプロセスが Process コンポーネントによって開始されたものでない場合は、そのプロセスに Process コンポーネントを関連付けます。詳細については、「方法 : 既存のプロセスにバインドする」を参照してください。

  2. プロセスの Threads プロパティ値を ProcessThread 型の空のコレクション変数に割り当てます。

  3. 配列インデックスを反復処理して 1 つのスレッドの各プロパティを表示します。

    次の例は、メモ帳の Threads プロパティを読み取って、値を空の配列に割り当てる方法を示しています。ProcessThread 配列に含まれている最初のスレッドの BasePriority 値を読み取り、TextBox1 テキスト ボックスに表示します。

    Dim myCollection As ProcessThreadCollection
    Dim myProcesses() As Process
    ' Create an instance of the Process Component and associate 
    ' it to the target process.
    myProcesses = Process.GetProcessesByName("Notepad.exe")
    ' Read the Process.Threads property and assign it to the empty array.
    myCollection = myProcesses(0).Threads
    ' Read desired ProcessThread property.
    Me.Textbox1.Text = myCollection(0).BasePriority.ToString()
    
         ProcessThreadCollection threads;
            Process[] notepads;
            // Retrieve the Notepad processes.
            notepads = Process.GetProcessesByName("Notepad");
            // Read the Process.Threads property.
            threads = notepads[0].Threads;
            // Read desired ProcessThread property.
            TextBox1.Text = threads[0].BasePriority.ToString();
    

参照

処理手順

方法 : 既存のプロセスにバインドする

方法 : Process コンポーネントを作成する

概念

Windows プロセスの監視と管理の概要

その他の技術情報

プロセスに関する情報の取得

プロセスの管理