原文链接 -> 传送门
函数功能:
GetWindowLong 函数用于获取指定窗口的有关信息,该函数也获取在窗口额外存储空间中指定偏移量处的 32 位(DWORD)值。
注意:如果你正获取一个指针或一个句柄,那么这个函数已经被 GetWindowLongPtr 函数代替。(在 32 位 Windows 下,指针和句柄是 32 位的;在 64 位 Windows 下,指针和句柄是 64 位的)为了使代码同时兼容 32 位和 64 位 Windows,请使用 GetWindowLongPtr 函数。
。
API 函数原型:
注释:_In_ 说明该参数是输入的。
LONG WINAPI GetWindowLong( _In_ HWND hWnd, _In_ int nIndex );
参数解析:
|
参数 |
含义 |
||||||||||||||||||||||||
|
hWnd |
指向目标窗口的句柄,间接的指向窗口所属的窗口类 |
||||||||||||||||||||||||
|
nIndex |
1. 指定要获取的偏移量的值,并且值从 0 开始。有效值的范围从 0 到窗口额外存储空间的字节数减 4。例如,如果你指定了 12 位或更多的额外存储空间,则第 3 个 32 位整数的索引位为 8。要获取任意其他值,指定下列值之一:
|
返回值:
1. 如果函数调用成功,返回值为所需的值;
2. 如果函数调用失败,返回值为 0。获取有关错误的更多信息,请调用 GetLastError 函数;
3. 如果之前没有调用 SetWindowLong 函数,对于窗口或类的额外存储空间,GetWindowLong 函数的返回值为 0。
备注:
通过在函数 RegisterClassEx 函数中将结构 WNDCLASSEX 结构中的 cbWndExtra 成员指定为非 0 值来获取窗口额外存储空间。
需求:
|
Minimum supported client |
Windows 2000 专业版 [仅桌面应用程序] |
|
Minimum supported server |
Windows 2000 服务器版 [仅桌面应用程序] |
|
Header |
Winuser.h (包含于 Windows.h) |
|
Library |
User32.lib |
|
DLL |
User32.dll |
|
Unicode and ANSI names |
GetWindowLongW (Unicode) 和 GetWindowLongA (ANSI) |




