函数功能:
RegisterClass 函数用于注册随后在调用 CreateWindow 函数或 CreateWindowEx 函数中使用的窗口类。
注意:RegisterClass 函数己经被 RegisterClassEx 函数代替。然而,如果你不需要设置类的小图标,你仍然可以使用 RegisterClass 函数。
API 函数原型:
注释:_In_ 说明该参数是输入的。
- ATOM WINAPI RegisterClass(
- _In_ const WNDCLASS *lpWndClass
- );
参数解析:
参数 | 含义 |
lpWndClass | 指向一个 WNDCLASS 结构的指针。在将它传递给函数之前,你必须用适当的类属性填充这个结构体 |
返回值:
1. 如果函数调用成功,返回值是一个唯一标识已注册类的 ATOM 类型(这里的 ATOM 类型实际上就是个 WORD 类型,typedef WORD ATOM; );这个 ATOM 类型能被 CreateWindow, CreateWindowEx, GetClassInfo, GetClassInfoEx, FindWindow, FindWindowEx 和 UnregisterClass 函数 ,以及 IActiveIMMap::FilterClientWindows 方法所使用;
2. 如果函数调用失败,返回值为 0。
若想获得更多错误信息,请调用 GetLastError 函数。
备注:
1. 如果使用 RegisterClassA 函数来注册窗口类,应用程序通知系统,由该窗口类创建的窗口接受的消息的文本和字符参数使用 ANSI 字符集;如果使用 RegisterClassW 函数来注册窗口,应用程序需要系统以 Unicode 来传递消息的文本参数。 lsWindowUnicode 函数使应用程序可以查询每一个窗口的字符特征。关于 ANSI 和 Unicode 函数的更多信息,请参考 Conventions for Function Prototypes。
2. 应用程序注册的所有的窗口类在应用程序中止后都会变为未注册的类。
3. 所有由 DLL 注册的类在 DLL 卸载后仍为已注册的类。当一个 DLL 被卸载时,必须显式地注销窗口类。
需求:
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 | RegisterClassW (Unicode) 和 RegisterClassA (ANSI) |
【API档案】版权归鱼C工作室( www.fishc.com)所有,转载请注明来源。