GetClassLongPtrW 函数 (winuser.h)

从与指定窗口关联的 WNDCLASSEX 结构中检索指定值。

注意 若要编写与 32 位和 64 位版本的 Windows 兼容的代码,请使用 GetClassLongPtr。 为 32 位 Windows 编译时, GetClassLongPtr 定义为对 GetClassLong 函数的调用。
 

语法

ULONG_PTR GetClassLongPtrW(
  [in] HWND hWnd,
  [in] int  nIndex
);

参数

[in] hWnd

类型:HWND

窗口的句柄,以及窗口所属的类的间接句柄。

[in] nIndex

类型: int

要检索的值。 若要从额外的类内存中检索值,请指定要检索的值的正从零开始的字节偏移量。 有效值的范围是从零到额外类内存的字节数减去 8;例如,如果指定了 24 个或更多字节的额外类内存,则值 16 将是第三个整数的索引。 若要从 WNDCLASSEX 结构中检索任何其他值,请指定以下值之一。

含义
GCW_ATOM
-32
检索唯一标识窗口类的 ATOM 值。 这是 RegisterClassEx 函数返回的同一个原子。
GCL_CBCLSEXTRA
-20
检索与 类关联的额外内存的大小(以字节为单位)。
GCL_CBWNDEXTRA
-18
检索与 类中每个窗口关联的额外窗口内存的大小(以字节为单位)。 有关如何访问此内存的信息,请参阅 GetWindowLongPtr
GCLP_HBRBACKGROUND
-10
检索与 类关联的背景画笔的句柄。
GCLP_HCURSOR
-12
检索与 类关联的游标的句柄。
GCLP_HICON
-14
检索与 类关联的图标的句柄。
GCLP_HICONSM
-34
检索与 类关联的小图标的句柄。
GCLP_HMODULE
-16
检索注册类的模块的句柄。
GCLP_MENUNAME
-8
检索指向菜单名称字符串的指针。 字符串标识与 类关联的菜单资源。
GCL_STYLE
-26
检索窗口类样式位。
GCLP_WNDPROC
-24
检索窗口过程的地址,或表示窗口过程地址的句柄。 必须使用 CallWindowProc 函数调用窗口过程。

返回值

类型: ULONG_PTR

如果函数成功,则返回值为请求的值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

通过在与 RegisterClassEx 函数一起使用的 WNDCLASSEX 结构的 cbClsExtra 成员中指定非零值来保留额外的类内存。

注意

winuser.h 标头将 GetClassLongPtr 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll
API 集 ext-ms-win-ntuser-windowclass-l1-1-2 (在 Windows 10 版本 10.0.10240 中引入)

请参阅

概念性

GetWindowLongPtr

引用

RegisterClassEx

SetClassLongPtr

WNDCLASSEX

窗口类