プロセスの取得方法を説明します。
System.Diagnostics.Processクラスを使用します。
自分自身のプロセスを取得する
Dim hPros As System.Diagnostics.Process = System.Diagnostics.Process.GetCurrentProcess() 'プロセス名を表示する MessageBox.Show(hPros.ProcessName) hPros.Close() hPros.Dispose()
実行中の全てのプロセスを取得する
Dim hPros As System.Diagnostics.Process() = System.Diagnostics.Process.GetProcesses() 'コンピュータ名を指定すると、別のコンピュータのプロセスが取得可能です 'hPros = System.Diagnostics.Process.GetProcesses("MachineName") Dim str As String = "" '取得できたプロセスからプロセス名を取得する For Each hp As System.Diagnostics.Process In hPros str &= hp.ProcessName & System.Environment.NewLine Next '実行中のすべてのプロセス名を表示する MessageBox.Show(str)
コンピュータ名を指定することで、別のコンピュータのプロセスが取得可能になります。
hPros = System.Diagnostics.Process.GetProcesses(“xxxxxxxxxx”)
指定した名前に合致するプロセスを全て取得する
System.Diagnostics.ProcessクラスのGetProcessesByNameメソッドを使用します。
Dim hPros As System.Diagnostics.Process() = System.Diagnostics.Process.GetProcessesByName("Notepad") Dim str As String = "" '取得できたプロセスからプロセスIDを取得する For Each hp As System.Diagnostics.Process In hPros str &= hp.id & System.Environment.NewLine Next '取得したっ全てのプロセスIDを表示する MessageBox.Show(str)
指定したIDに合致するプロセスを取得する
System.Diagnostics.ProcessクラスのGetProcessByIdメソッドを使用します。
'プロセスIDが0のプロセスを取得する Dim hPros As System.Diagnostics.Process = System.Diagnostics.Process.GetProcessById(0) '取得できたプロセス名を表示する If Not hPros Is Nothing Then MessageBox.Show(hPros.ProcessName) End If hPros.Close() hPros.Dispose()