GetWindow

計算機的函數

GetWindow是計算機的函數,該函數返回與指定窗口有特定關係(如Z序或所有者)的窗口句柄,函數原型是HWND GetWindow(HWND hWnd,UNIT nCmd)。

目錄

正文


參數
hWnd:窗口句柄。這個函數要返回的窗口句柄是依據nCmd參數值相對於hWnd參數的關係。
nCmd:說明指定窗口與要獲得句柄的窗口之間的關係。該參數值可以是下列之一:
GW_CHILD(&H5):如果指定窗口是父窗口,則獲得的是在Tab序頂端的子窗口的句柄,否則為NULL。函數僅檢查指定父窗口的子窗口,不檢查繼承窗口。
GW_ENABLEDPOPUP(&H6):(WindowsNT 5.0)返回的句柄標識了屬於指定窗口的處於使能狀態彈出式窗口(檢索使用第一個由GW_HWNDNEXT 查找到的滿足前述條件的窗口);如果無使能窗口,則獲得的句柄與指定窗口相同。
GW_HWNDFIRST(&H0):返回的句柄標識了在Z序最高端的相同類型的窗口。如果指定窗口是最高端窗口,則該句柄標識了在Z序最高端的最高端窗口;如果指定窗口是頂層窗口,則該句柄標識了在z序最高端的頂層窗口:如果指定窗口是子窗口,則句柄標識了在Z序最高端的同屬窗口。
GW_HWNDLAST(&H1):返回的句柄標識了在z序最低端的相同類型的窗口。如果指定窗口是最高端窗口,則該柄標識了在z序最低端的最高端窗口:如果指定窗口是頂層窗口,則該句柄標識了在z序最低端的頂層窗口;如果指定窗口是子窗口,則句柄標識了在Z序最低端的同屬窗口。
GW_HWNDNEXT(&H2):返回的句柄標識了在Z序中指定窗口下的相同類型的窗口。如果指定窗口是最高端窗口,則該句柄標識了在指定窗口下的最高端窗口:如果指定窗口是頂層窗口,則該句柄標識了在指定窗口下的頂層窗口;如果指定窗口是子窗口,則句柄標識了在指定窗口下的同屬窗口。
GW HWNDPREV(&H3):返回的句柄標識了在Z序中指定窗口上的相同類型的窗口。如果指定窗口是最高端窗口,則該句柄標識了在指定窗口上的最高端窗口;如果指定窗口是頂層窗口,則該句柄標識了在指定窗口上的頂層窗口;如果指定窗口是子窗口,則句柄標識了在指定窗口上的同屬窗口。
GW_OWNER(&H4):返回的句柄標識了指定窗口的所有者窗口(如果存在)。GW_OWNER與GW_CHILD不是相對的參數,沒有父窗口的含義,如果想得到父窗口請使用GetParent()。例如:例如有時對話框的控制項的GW_OWNER,是不存在的。
返回值:如果函數成功,返回值為窗口句柄;如果與指定窗口有特定關係的窗口不存在,則返回值為NULL。
若想獲得更多錯誤信息,請調用GetLastError函數。
備註:在循環體中調用函數EnumChildWindow比調用GetWindow函數可靠。調用GetWindow函數實現該任務的應用程序可能會陷入死循環或退回一個已被銷毀的窗口句柄。
速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本;頭文件:winuser.h;庫文件:user32.lib。