ここではVB.NETでプロセスの情報を取得する方法について紹介します。

自分自身のプロセス情報を取得する

自分自身のプロセス情報を取得するには、Process.GetCurrentProcessメソッドを使用します。
以下はGetCurrentProcessメソッドを使用してプロセス情報を取得する例です。

Dim p As System.Diagnostics.Process = System.Diagnostics.Process.GetCurrentProcess()

' プロセス情報を表示する
Console.WriteLine("プロセスID: {0}", p.Id)
Console.WriteLine("プロセス名: {0}", p.ProcessName)
Console.WriteLine("プロセスのファイル名: {0}", p.MainModule.FileName)
Console.WriteLine("基本優先順位: {0}", p.BasePriority)
Console.WriteLine("起動された時刻: {0}", p.StartTime)
Console.WriteLine("ユーザープロセッサ時間: {0}", p.UserProcessorTime)
Console.WriteLine("特権プロセッサ時間: {0}", p.PrivilegedProcessorTime)
Console.WriteLine("合計プロセッサ時間: {0}", p.TotalProcessorTime)
Console.WriteLine("物理メモリの量 (バイト単位) : {0}", p.WorkingSet64)
Console.WriteLine("仮想メモリの量 (バイト単位) : {0}", p.VirtualMemorySize64){0}", p.VirtualMemorySize64)

実行結果

プロセスID: 17776
プロセス名: ConsoleApp2
プロセスのファイル名: C:\vb\ConsoleApp2\ConsoleApp2\bin\Debug\netcoreapp3.1\ConsoleApp2.exe
基本優先順位: 8
起動された時刻: 2021/06/21 11:27:45
ユーザープロセッサ時間: 00:00:00.1250000
特権プロセッサ時間: 00:00:00.1093750
合計プロセッサ時間: 00:00:00.2500000
物理メモリの量 (バイト単位) : 17424384
仮想メモリの量 (バイト単位) : 2203858870272


実行中の全てのプロセス情報を取得する

実行中の全てのプロセス情報を取得するには、Process.GetProcessesメソッドを使用します。
以下はProcess.GetProcessesメソッドを使用してプロセス情報を取得する例です。

Dim p As System.Diagnostics.Process() = System.Diagnostics.Process.GetProcesses()

For Each getP As System.Diagnostics.Process In p
    ' プロセスIDとプロセス名を表示する
    Console.WriteLine(getP.Id & ":" & getP.ProcessName)
Next


指定したプロセス名に一致したプロセス情報を取得する

指定したプロセス名に一致したプロセス情報を取得するには、Process.GetProcessesByNameメソッドを使用します。
以下はProcess.GetProcessesByNameメソッを使用してプロセス情報を取得する例です。

Dim p As System.Diagnostics.Process() = System.Diagnostics.Process.GetProcessesByName("chrome")

For Each getP As System.Diagnostics.Process In p
    ' プロセスIDとプロセス名を表示する
    Console.WriteLine(getP.Id & ":" & getP.ProcessName)
Next


以上、VB.NETでプロセスの情報を取得する方法について解説しました。