DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

指定した名前のすべてのプロセスを取得する

指定したプロセス名のすべてのプロセスを取得するには、Process.GetProcessesByNameメソッドを使います。プロセス名を指定する以外は、使い方はGetProcessesメソッドとほぼ同じです。

次の例では、ローカルコンピュータ上で実行されている"notepad"という名前のプロセス(通常はメモ帳)を取得し、そのプロセスIDとメインウィンドウのキャプションを出力しています。

VB.NET
コードを隠すコードを選択
'ローカルコンピュータ上で実行されている"notepad"という名前の
'すべてのプロセスを取得
Dim ps As System.Diagnostics.Process() = _
    System.Diagnostics.Process.GetProcessesByName("notepad")

'配列から1つずつ取り出す
Dim p As System.Diagnostics.Process
For Each p In ps
    'IDとメインウィンドウのキャプションを出力する
    Console.WriteLine("{0}/{1}", p.Id, p.MainWindowTitle)
Next p
C#
コードを隠すコードを選択
//ローカルコンピュータ上で実行されている"notepad"という名前の
//すべてのプロセスを取得
System.Diagnostics.Process[] ps =
    System.Diagnostics.Process.GetProcessesByName("notepad");

//配列から1つずつ取り出す
foreach (System.Diagnostics.Process p in ps)
{
    //IDとメインウィンドウのキャプションを出力する
    Console.WriteLine("{0}/{1}", p.Id, p.MainWindowTitle);
}
結果例:

1204/CONFIG.SYS - メモ帳
492/無題 - メモ帳
592/AUTOEXEC.BAT - メモ帳

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • .NET Tipsをご利用いただく際は、注意事項をお守りください。