您的当前位置:首页正文

GetWindowLongA-获得有关指定窗口的信息

来源:画鸵萌宠网
GetWindowLongA-获得有关指定窗⼝的信息

函数原型

LONG GetWindowLong(HWND hWnd,int nlndex);

GetWindowLongA是⼀个ANSI编码的API函数,另外还有⼀个是Unicode编码的GetWindowLongW写兼容性代码时可使⽤GetWindowLongPtrA,这样32位和64位系统会⾃动转换。

函数功能:该函数获得有关指定窗⼝的信息,函数也获得在额外窗⼝内存中指定偏移位地址的32位度整型值。

参数

hWnd

窗⼝句柄及间接给出的窗⼝所属的窗⼝类。

nlndex

指定要获得值的⼤于等于0的值的偏移量。有效值的范围从0到额外窗⼝内存空间的字节数⼀4例如,若指定了12位或多于12位的额外类存储空间,则应设为第三个32位整数的索引位8。

要获得任意其他值,指定下列值之⼀(在代码中使⽤时,英⽂名和数字皆可):GWL_EXSTYLE: -20 获得扩展窗⼝风格。GWL_STYLE: -16 获得窗⼝风格。

GWL_WNDPROC: -4 获得窗⼝过程的地址,或代表窗⼝过程的地址的句柄。必须使⽤GWL_WNDPROC函数调⽤窗⼝过程。GWL_HINSTANCE: -6 获得应⽤事例的句柄。

GWL_HWNDPAAENT:-8 如果⽗窗⼝存在,获得⽗窗⼝句柄。GWL_ID: -12 获得窗⼝标识。

GWL_USERDATA: -21 获得与窗⼝有关的32位值。每⼀个窗⼝均有⼀个由创建该窗⼝的应⽤程序使⽤的32位值。

在hWnd参数标识为⼀个对话框时也可⽤下列值:

DWL_DLGPROC:获得对话框过程的地址,或⼀个代表对话框过程的地址的句柄。必须使⽤函数CallWindowProc来调⽤对话框过程。DWL_MSGRESULT:获得在对话框过程中⼀个消息处理的返回值。DWL_USER:获得应⽤程序私有的额外信息,例如⼀个句柄或指针。

返回值:

如果函数成功,返回值是所需的32位值;如果函数失败,返回值是0。若想获得更多错误信息请调⽤ GetLastError函数。

备注:通过使⽤函数RegisterClassEx将结构WNDCLASSEX中的cbWndExtra单元指定为⼀个⾮0值来保留额外类的存储空间。Windows CE:nlndex参数指定的字节偏移量必须为 4的倍数。不⽀持 unaligmned access。Windows CE:不⽀持在参数nlndex中设定的GWL_HINSTANCE和GWL_HWNDPARENT。Windows CE1.0也不⽀持在 nlndex参数中的 DWL_DLGPROC和 GWL_USERDATA。

速查:

Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0对以上版本;头⽂件:winuser.h;库⽂件:user32.lib;

在Windows NT上实现为Unicode和ANSI两种版本。

易语⾔⽰例:.版本 2

GetCursorPos (光标位置) '从当前光标位置获取其坐标(x,y)

窗⼝句柄值 = WindowFromPoint (光标位置.x, 光标位置.y) '获得包含指定点的窗⼝的句柄 获取值 = GetWindowLong (窗⼝句柄值, -16)

窗⼝风格.内容 = “(&H” + 取⼗六进制⽂本 (获取值) + “)” + 到⽂本 (获取值)

因篇幅问题不能全部显示,请点此查看更多更全内容

Top