GetWindow 関数 (winuser.h)
指定したウィンドウとのリレーションシップ (Z オーダー または所有者) を持つウィンドウへのハンドルを取得します。
構文
HWND GetWindow(
[in] HWND hWnd,
[in] UINT uCmd
);
パラメーター
[in] hWnd
型: HWND
ウィンドウのハンドル。 取得されるウィンドウ ハンドルは、 uCmd パラメーターの値に基づいて、このウィンドウに対して相対的です。
[in] uCmd
型: UINT
指定したウィンドウと、ハンドルを取得するウィンドウの間のリレーションシップ。 このパラメーターには、次の値のいずれかを指定できます。
値 | 意味 |
---|---|
|
取得したハンドルは、指定されたウィンドウが親ウィンドウの場合、Z オーダーの先頭にある子ウィンドウを識別します。それ以外の場合、取得されたハンドルは NULL です。 関数は、指定されたウィンドウの子ウィンドウのみを調べます。 子孫ウィンドウは調べません。 |
|
取得されたハンドルは、指定されたウィンドウが所有する有効なポップアップ ウィンドウを識別します (検索では 、GW_HWNDNEXTを使用して最初に検出されたウィンドウが使用されます)。それ以外の場合、有効なポップアップ ウィンドウがない場合、取得されたハンドルは指定されたウィンドウのハンドルになります。 |
|
取得されたハンドルは、Z オーダーで最も高い同じ型のウィンドウを識別します。
指定したウィンドウが一番上のウィンドウの場合、ハンドルは一番上のウィンドウを識別します。 指定したウィンドウが最上位のウィンドウの場合、ハンドルは最上位のウィンドウを識別します。 指定したウィンドウが子ウィンドウの場合、ハンドルは兄弟ウィンドウを識別します。 |
|
取得されたハンドルは、Z オーダーで最も低い同じ型のウィンドウを識別します。
指定したウィンドウが一番上のウィンドウの場合、ハンドルは一番上のウィンドウを識別します。 指定したウィンドウが最上位のウィンドウの場合、ハンドルは最上位のウィンドウを識別します。 指定したウィンドウが子ウィンドウの場合、ハンドルは兄弟ウィンドウを識別します。 |
|
取得されたハンドルは、指定されたウィンドウの下のウィンドウを Z オーダーで識別します。
指定したウィンドウが一番上のウィンドウの場合、ハンドルは一番上のウィンドウを識別します。 指定したウィンドウが最上位のウィンドウの場合、ハンドルは最上位のウィンドウを識別します。 指定したウィンドウが子ウィンドウの場合、ハンドルは兄弟ウィンドウを識別します。 |
|
取得されたハンドルは、指定されたウィンドウの上のウィンドウを Z オーダーで識別します。
指定したウィンドウが一番上のウィンドウの場合、ハンドルは一番上のウィンドウを識別します。 指定したウィンドウが最上位のウィンドウの場合、ハンドルは最上位のウィンドウを識別します。 指定したウィンドウが子ウィンドウの場合、ハンドルは兄弟ウィンドウを識別します。 |
|
取得されたハンドルは、指定したウィンドウの所有者ウィンドウ (存在する場合) を識別します。 詳細については、「 所有 Windows」を参照してください。 |
戻り値
型: HWND
関数が成功した場合、戻り値はウィンドウ ハンドルです。 指定したウィンドウとのリレーションシップを持つウィンドウが存在しない場合、戻り値は NULL になります。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
EnumChildWindows 関数は、ループ内で GetWindow を呼び出すよりも信頼性が高くなります。 GetWindow を呼び出してこのタスクを実行するアプリケーションは、無限ループでキャッチされたり、破棄されたウィンドウへのハンドルを参照したりするリスクがあります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |
API セット | ext-ms-win-ntuser-window-l1-1-0 (Windows 8で導入) |
関連項目
概念
リファレンス