実行されているすべてのプロセスを取得するProcessクラスのGetProcessesメソッドを使ってローカルコンピュータ上(リモートコンピュータも可能)で実行されているすべてのプロセスを取得できます。 次の例ではローカルコンピュータ上で実行されているすべてのプロセスを取得し、そのプロセス名などを列挙しています。 'ローカルコンピュータ上で実行されているすべてのプロセスを取得 Dim ps As System.Diagnostics.Process() = System.Diagnostics.Process.GetProcesses() '"machinename"という名前のコンピュータで実行されている 'すべてのプロセスを取得するには次のようにする。 'Dim ps As System.Diagnostics.Process() = _ ' System.Diagnostics.Process.GetProcesses("machinename") '配列から1つずつ取り出す For Each p As System.Diagnostics.Process In ps Try 'プロセス名を出力する Console.WriteLine("プロセス名: {0}", p.ProcessName) 'ID Console.WriteLine("ID: {0}", p.Id) 'メインモジュールのパス Console.WriteLine("パス: {0}", p.MainModule.FileName) '合計プロセッサ時間 Console.WriteLine("合計プロセッサ時間: {0}", p.TotalProcessorTime) '物理メモリ使用量 Console.WriteLine("物理メモリ使用量: {0}", p.WorkingSet64) '.NET Framework 1.1以前では次のようにする 'Console.WriteLine("物理メモリ使用量: {0}", p.WorkingSet) Console.WriteLine() Catch ex As Exception Console.WriteLine("エラー: {0}", ex.Message) End Try Next //ローカルコンピュータ上で実行されているすべてのプロセスを取得 System.Diagnostics.Process[] ps = System.Diagnostics.Process.GetProcesses(); //"machinename"という名前のコンピュータで実行されている //すべてのプロセスを取得するには次のようにする。 //System.Diagnostics.Process[] ps = // System.Diagnostics.Process.GetProcesses("machinename"); //配列から1つずつ取り出す foreach (System.Diagnostics.Process p in ps) { try { //プロセス名を出力する Console.WriteLine("プロセス名: {0}", p.ProcessName); //ID Console.WriteLine("ID: {0}", p.Id); //メインモジュールのパス Console.WriteLine("パス: {0}", p.MainModule.FileName); //合計プロセッサ時間 Console.WriteLine("合計プロセッサ時間: {0}", p.TotalProcessorTime); //物理メモリ使用量 Console.WriteLine("物理メモリ使用量: {0}", p.WorkingSet64); //.NET Framework 1.1以前では次のようにする //Console.WriteLine("物理メモリ使用量: {0}", p.WorkingSet); Console.WriteLine(); } catch (Exception ex) { Console.WriteLine("エラー: {0}", ex.Message); } }
|
|
Copyright(C) DOBON!. All rights reserved.
|