GetWindow、GetTopWindow和GetNextWindow(窗口句柄获取!!!)

GetWindow、GetTopWindow和GetNextWindow(窗口句柄获取!!!)

GetWindow

[delphi] view plaincopy

//uCmd 可选值: GW_HWNDFIRST = 0; {同级别第一个} GW_HWNDLAST = 1; {同级别最后一个} GW_HWNDNEXT = 2; {同级别下一个} GW_HWNDPREV = 3; {同级别上一个} GW_OWNER = 4; {属主窗口} GW_CHILD = 5; {子窗口}

函数功能:该函数返回与指定窗口有特定关系(如Z序或所有者)的窗口句柄。

函数原型:HWND GetWindow(HWND hWnd,UNIT nCmd);

参数:

hWnd:窗口句柄。要获得的窗口句柄是依据nCmd参数值相对于这个窗口的句柄。

nCmd:说明指定窗口与要获得句柄的窗口之间的关系。该参数值可以是下列之一:

GW_CHILD:如果指定窗口是父窗口,则获得的是在Z序顶端的子窗口的句柄,否则为NULL。函数仅检查指定父窗口的子窗口,不检查继承窗口。

GW_ENABLEDPOPUP:(WindowsNT 5.0)返回的句柄标识了属于指定窗口的处于使能状态弹出式窗口(检索使用第一个由GW_HWNDNEXT 查找到的满足前述条件的窗口);如果无使能窗口,则获得的句柄与指定窗口相同。

GW_HWNDFIRST:返回的句柄标识了在Z序最高端的相同类型的窗口。如果指定窗口是最高端窗口,则该句柄标识了在Z序最高端的最高端窗口;如果指定窗口是顶层窗口,则该句柄标识了在z序最高端的顶层窗口:如果指定窗口是子窗口,则句柄标识了在Z序最高端的同属窗口。

GW_HWNDLAST:返回的句柄标识了在z序最低端的相同类型的窗口。如果指定窗口是最高端窗口,则该柄标识了在z序最低端的最高端窗口:如果指定窗口是顶层窗口,则该句柄标识了在z序最低端的顶层窗口;如果指定窗口是子窗口,则句柄标识了在Z序最低端的同属窗口。

GW_HWNDNEXT:返回的句柄标识了在Z序中指定窗口下的相同类型的窗口。如果指定窗口是最高端窗口,则该句柄标识了在指定窗口下的最高端窗口:如果指定窗口是顶层窗口,则该句柄标识了在指定窗口下的顶层窗口;如果指定窗口是子窗口,则句柄标识了在指定窗口下的同属窗口。

GW HWNDPREV:返回的句柄标识了在Z序中指定窗口上的相同类型的窗口。如果指定窗口是最高端窗口,则该句柄标识了在指定窗口上的最高端窗口;如果指定窗口是顶层窗口,则该句柄标识了在指定窗口上的顶层窗口;如果指定窗口是子窗口,则句柄标识了在指定窗口上的同属窗口。

GW_OWNER:返回的句柄标识了指定窗口的所有者窗口(如果存在)。

返回值:如果函数成功,返回值为窗口句柄;如果与指定窗口有特定关系的窗口不存在,则返回值为NULL。

若想获得更多错误信息,请调用GetLastError函数。

备注:在循环体中调用函数EnumChildWindow比调用GetWindow函数可靠。调用GetWindow函数实现该任务的应用程序可能会陷入死循环或退回一个已被销毁的窗口句柄。

速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本;头文件:winuser.h;库文件:user32.lib。

GetTopWindow

函数功能:该函数检查与特定父窗口相联的子窗口z序,并返回在z序顶部的子窗口的句柄。 函数原型:HWND GetTopWindow(HWND hWnd); 参数: hWnd:被查序的父窗口的句柄。如果该参数为NULL,函数返回Z序顶部的窗口句柄。 返回值;如果函数成功,返回值为在Z序顶部的子窗口句柄。如果指定的窗口无子窗口,返回值为NULL。 若想获得更多错误信息,请调用GetLastError函数。 速查:Windows NT:3.1以上版本;Windows:95以上版本:Windows CE:不支持;头文件:Winuser.h:库文件;user32.lib。

GetNextWindow

函数功能:该函数返回z序中的前一个或后一个窗口的句柄。下一窗口在指定窗口的下面,前一窗口则在上面。如果指定的窗口是顶端窗口,该函数返回下一个(或前一个)顶端窗口的句柄。如果指定的窗口是顶层窗口,函数返回下一个(或前一个)顶层窗口的句柄。如果函数是子窗口,则函数搜索下一个或前一个子窗口的句柄。

函数原型:HWND GetNextWindow(HWND hWnd,UNIT wCmd);

参数:

hWnd:一个窗口的句柄。窗口句柄在wCmd参数的基础上获得的相对于这个窗口的句柄。

wCmd:指明窗口返回的是前一窗口的句柄还是后一窗口的句柄。该参数可以是下列两个值之一:

[delphi] view plaincopy

//uCmd 可选值: GW_HWNDFIRST = 0; {同级别第一个} GW_HWNDLAST = 1; {同级别最后一个} GW_HWNDNEXT = 2; {同级别下一个} GW_HWNDPREV = 3; {同级别上一个} GW_OWNER = 4; {属主窗口} GW_CHILD = 5; {子窗口}

GW HWNONEXT:返回在给定窗口的下面窗口的句柄。

GW_HWNDPREV:返回在给定窗口的上面窗口的句柄。

返回值:如果函数成功,返回值是前一窗口(或后一窗口)的句柄。如果前后窗口不存在,则返回值为NULL。若想获得更多错误信息,请调用GetLastError函数。

备注:在设定了GW_HWNDNEXT或GW_GETPREV标志时,调用该函数与调用GetWindow函数相同。

速查:Windows NT:3.1以上版本;Windows:95以上版本:Windows CE:不支持:头文件:Winuer.h;库文件:user32.lib。

--------------------- 本文来自 IT登山家 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qq_35409640/article/details/74462351?utm_source=copy

相关推荐

基金168101 九泰锐智定增混合怎么样、净值、分红、基金经理2019
偷票房是什么意思(一次带你看懂偷票房背后的骚操作)
手机图标如何隐藏
英国beat365官方登录

手机图标如何隐藏

📅 06-28 👁️ 4806