取消注册窗口类,释放类所需的内存。
语法
BOOL UnregisterClassW(
[in] LPCWSTR lpClassName,
[in, optional] HINSTANCE hInstance
);
参数
[in] lpClassName
类型:LPCTSTR
以 null 结尾的字符串或类原子。 如果 lpClassName 是字符串,则指定窗口类名。 此类名称必须由上一次对 RegisterClass 或 RegisterClassEx 函数的调用进行注册。 无法取消注册系统类(如对话框控件)。 如果此参数是 atom,则它必须是上一次调用 RegisterClass 或 RegisterClassEx 函数创建的类 atom。 原子必须位于 lpClassName的低序单词中;高序单词必须为零。
[in, optional] hInstance
类型:HINSTANCE
创建类的模块实例的句柄。
返回值
类型:BOOL
如果函数成功,则返回值为非零。
如果找不到该类,或者如果该类创建窗口仍然存在,则返回值为零。 若要获取扩展的错误信息,请调用 GetLastError。
言论
调用此函数之前,应用程序必须销毁使用指定类创建的所有窗口。
应用程序注册的所有窗口类在终止时将取消注册。
类原子是由 RegisterClass 返回的特殊原子,RegisterClassEx。
卸载 .dll 时,不会注销 DLL 注册的窗口类。
注意
winuser.h 标头将 UnregisterClass 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
| 要求 | 价值 |
|---|---|
| 最低支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
| 支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
| 目标平台 | 窗户 |
| 标头 | winuser.h (包括 Windows.h) |
| 库 | User32.lib |
| DLL | User32.dll |
| API 集 | ext-ms-win-ntuser-windowclass-l1-1-0(在 Windows 8 中引入) |
另请参阅
概念
参考