GetWindow 函式 (winuser.h)

擷取具有指定關聯性的視窗句柄, (Z-Order 或擁有者) 至指定的視窗。

語法

HWND GetWindow(
  [in] HWND hWnd,
  [in] UINT uCmd
);

參數

[in] hWnd

類型: HWND

視窗的控點。 所擷取的視窗句柄會根據 uCmd 參數的值,相對於這個視窗。

[in] uCmd

類型: UINT

所指定視窗與要擷取其句柄的視窗之間的關聯性。 此參數可以是下列其中一個值。

意義
GW_CHILD
5
如果指定的視窗是父視窗,則擷取的句柄會識別 Z 順序頂端的子視窗;否則,擷取的句柄為 NULL。 函式只會檢查指定視窗的子視窗。 它不會檢查子代視窗。
GW_ENABLEDPOPUP
6
擷取的句柄會識別指定視窗所擁有的已啟用彈出視窗, (搜尋會使用 GW_HWNDNEXT) 找到的第一個這類視窗;否則,如果沒有啟用的彈出視窗,擷取的句柄就是指定視窗的句柄。
GW_HWNDFIRST
0
擷取的句柄會識別 Z 順序中最高類型的視窗。

如果指定的視窗是最上層的視窗,句柄會識別最上層的視窗。 如果指定的視窗是最上層視窗,句柄會識別最上層視窗。 如果指定的視窗是子視窗,句柄會識別同層級視窗。

GW_HWNDLAST
1
擷取的句柄會識別 Z 順序中最低類型的視窗。

如果指定的視窗是最上層的視窗,句柄會識別最上層的視窗。 如果指定的視窗是最上層視窗,句柄會識別最上層視窗。 如果指定的視窗是子視窗,句柄會識別同層級視窗。

GW_HWNDNEXT
2
擷取的句柄會以 Z 順序識別指定視窗下方的視窗。

如果指定的視窗是最上層的視窗,句柄會識別最上層的視窗。 如果指定的視窗是最上層視窗,句柄會識別最上層視窗。 如果指定的視窗是子視窗,句柄會識別同層級視窗。

GW_HWNDPREV
3
擷取的句柄會以 Z 順序識別指定視窗上方的視窗。

如果指定的視窗是最上層的視窗,句柄會識別最上層的視窗。 如果指定的視窗是最上層視窗,句柄會識別最上層視窗。 如果指定的視窗是子視窗,句柄會識別同層級視窗。

GW_OWNER
4
擷取的句柄會識別指定視窗的擁有者視窗,如果有的話。 如需詳細資訊,請參閱 擁有的 Windows

傳回值

類型: HWND

如果函式成功,則傳回值是視窗句柄。 如果指定之窗口的關聯性不存在,則傳回值為 NULL。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

EnumChildWindows 函式比在迴圈中呼叫 GetWindow 更可靠。 呼叫 GetWindow 以執行此工作的應用程式,可能會遭到無限循環攔截,或參考已終結之視窗的句柄。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 winuser.h (包括 Windows.h)
程式庫 User32.lib
Dll User32.dll
API 集合 ext-ms-win-ntuser-window-l1-1-0 (於 Windows 8)

另請參閱

概念

EnumChildWindows

參考

Windows