GetWindow

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。

相關詞條

相關搜尋

熱門詞條

聯絡我們