方法 : 既存のプロセスにバインドする
更新 : 2007 年 11 月
コンピュータ上のアプリケーションとプロセスとの間のつなぎ役として、Process コンポーネントを使用できます。GetProcessesByName メソッドを使用して既存のプロセスにバインドすることにより、指定したファイル名の実行中の各インスタンスに関連付けられたプロセスの配列を Process コンポーネントのインスタンスの形で返すことができます。配列の最初の要素は、動作中のプロセスのインスタンスとしてメソッドが最初に検出したインスタンスです。プロセスのインスタンスが 1 つしかない場合は、インデックス 0 を使用してプロセスの単一のインスタンスを参照できます。返された各インスタンスを使用して、それぞれに関連付けられたプロセスを操作できます。
既存のプロセスに連結するには
Process コンポーネントのインスタンスを作成します。詳細については、「方法 : Process コンポーネントを作成する」を参照してください。
Process コンポーネントの配列を保持するために、Process 型の空の配列を宣言します。
Dim myProcesses() As Process
Process[] myProcesses;
GetProcessesByName メソッドまたは GetProcessById メソッドを呼び出し、その戻り値をプロセス配列に格納します。
次の例は、GetProcessesByName メソッドを呼び出してプロセス配列に Notepad.exe を追加する方法を示しています。
myProcesses = Process.GetProcessesByName("Notepad")
myProcesses = Process.GetProcessesByName("Notepad");
インデックス付きのプロパティ値を使用して、配列内の 1 つのプロセスを操作します。
' Closes the first instance of Notepad in the process array. myProcesses(0).CloseMainWindow()
// Closes the first instance of Notepad in the process array. myProcesses[0].CloseMainWindow();