次の方法で共有


Process.MainWindowHandle プロパティ

定義

関連付けられているプロセスのメイン ウィンドウのウィンドウ ハンドルを取得します。

public:
 property IntPtr MainWindowHandle { IntPtr get(); };
public IntPtr MainWindowHandle { get; }
member this.MainWindowHandle : nativeint
Public ReadOnly Property MainWindowHandle As IntPtr

プロパティ値

IntPtr

nativeint

関連付けられたプロセスのメイン ウィンドウのシステム生成ウィンドウ ハンドル。

例外

プロセスが終了したため、 MainWindowHandle は定義されていません。

リモート コンピューターで実行されているプロセスの MainWindowHandle プロパティにアクセスしようとしています。 このプロパティは、ローカル コンピューターで実行されているプロセスでのみ使用できます。

注釈

メイン ウィンドウは、現在フォーカスがあるプロセスによって開かれたウィンドウ ( TopLevel フォーム) です。 Refresh メソッドを使用してProcess オブジェクトを更新し、変更された場合に最新のメイン ウィンドウ ハンドルを取得する必要があります。 一般に、ウィンドウ ハンドルはキャッシュされるため、 Refresh を事前に使用して、現在のハンドルを取得することを保証します。

MainWindowHandle プロパティは、ローカル コンピューターで実行されているプロセスに対してのみ取得できます。 MainWindowHandle プロパティは、プロセスに関連付けられているウィンドウを一意に識別する値です。

プロセスにグラフィカル インターフェイスがある場合にのみ、プロセスにメイン ウィンドウが関連付けられています。 関連付けられているプロセスにメイン ウィンドウがない場合、 MainWindowHandle 値は 0 になります。 この値は、非表示になっているプロセス、つまりタスク バーに表示されないプロセスの場合も 0 です。 これは、タスク バーの右端にある通知領域にアイコンとして表示されるプロセスの場合です。

プロセスを開始したばかりで、メイン ウィンドウ ハンドルを使用する場合は、 WaitForInputIdle メソッドを使用してプロセスの開始を完了し、メイン ウィンドウ ハンドルが作成されていることを確認することを検討してください。 この操作を行わない場合、例外がスローされます。

適用対象

こちらもご覧ください