RegisterClassExA 函式 (winuser.h)
註冊窗口類別,以供後續在呼叫 CreateWindow 或 CreateWindowEx 函式時使用。
語法
ATOM RegisterClassExA(
[in] const WNDCLASSEXA *unnamedParam1
);
參數
[in] unnamedParam1
類型: const WNDCLASSEX*
WNDCLASSEX 結構的指標。 您必須先以適當的類別屬性填滿結構,才能將它傳遞至函式。
傳回值
類型: ATOM
如果函式成功,傳回值就是可唯一識別所註冊類別的類別 Atom。 這個 Atom 只能由 CreateWindow、CreateWindowEx、GetClassInfo、GetClassInfo、FindWindow、FindWindowEx 和 UnregisterClass 函式和 IActiveIMMap::FilterClientWindows 方法使用。
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
如果您使用 RegisterClassExA 註冊視窗類別,應用程式會告知系統所建立類別的視窗預期有文字或字元參數的訊息使用 ANSI 字元集;如果您使用 RegisterClassExW 進行註冊,應用程式會要求系統將訊息的文字參數傳遞為 Unicode。 IsWindowUnicode 函式可讓應用程式查詢每個窗口的本質。 如需 ANSI 和 Unicode 函式的詳細資訊,請參閱 函式原型的慣例。
應用程式註冊的所有視窗類別在終止時都會取消註冊。
卸除 DLL 時,不會取消註冊 DLL 所註冊的窗口類別。 DLL 必須在卸除時明確取消註冊其類別。
範例
如需範例,請參閱 使用窗口類別。
注意
winuser.h 標頭會將 RegisterClassEx 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | winuser.h (包括 Windows.h) |
程式庫 | User32.lib |
Dll | User32.dll |
API 集合 | ext-ms-win-ntuser-windowclass-l1-1-0 (於 Windows 8) |
另請參閱
概念
參考