RegisterClassA 函式 (winuser.h)

註冊窗口類別,以供後續用於呼叫 CreateWindowCreateWindowEx 函 式。

注意RegisterClassEx 函式已取代 RegisterClassEx 函式。 不過,如果您不需要設定類別小型圖示,您仍然可以使用 RegisterClass
 

語法

ATOM RegisterClassA(
  [in] const WNDCLASSA *lpWndClass
);

參數

[in] lpWndClass

類型: const WNDCLASS*

WNDCLASS 結構的指標。 您必須先將適當的類別屬性填入結構,才能將它傳遞至函式。

傳回值

類型: ATOM

如果函式成功,則傳回值是可唯一識別所註冊類別的類別 Atom。 這個 Atom 只能由 CreateWindow、CreateWindowExGetClassInfoGetClassInfo、FindWindow、FindWindowExUnregisterClass 函式和 IActiveIMMap::FilterClientWindows 方法使用。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

如果您使用 RegisterClassA 來註冊視窗類別,應用程式會告知系統所建立類別的視窗預期有文字或字元參數的訊息使用 ANSI 字元集;如果您使用 RegisterClassW 進行註冊,應用程式會要求系統將訊息的文字參數傳遞為 Unicode。 IsWindowUnicode 函式可讓應用程式查詢每個窗口的本質。 如需 ANSI 和 Unicode 函式的詳細資訊,請參閱 函式原型的慣例

應用程式註冊的所有視窗類別在終止時都會取消註冊。

卸除 DLL 時,不會取消註冊 DLL 所註冊的窗口類別。 DLL 必須在卸除時明確取消註冊其類別。

範例

如需範例,請參閱 建立視窗程式與 Window 類別的關聯

注意

winuser.h 標頭會將 RegisterClass 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 winuser.h (包含 Windows.h)
程式庫 User32.lib
Dll User32.dll
API 集合 ext-ms-win-ntuser-windowclass-l1-1-0 (於 Windows 8)

另請參閱

概念

CreateWindow

CreateWindowEx

FindWindow

FindWindowEx

GetClassInfo

GetClassInfoEx

GetClassName

參考

RegisterClassEx

UnregisterClass

WNDCLASS

窗口類別

WindowProc