The RegisterClassEx function registers a window class for subsequent use in calls to the CreateWindow or CreateWindowEx function.
ATOM RegisterClassEx(
CONST WNDCLASSEX *lpwcx // address of structure with class data
);
If the function succeeds, the return value is an atom that uniquely identifies the class being registered.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
If you register the window class by using RegisterClassExA, the application tells the system that the windows of the created class expect messages with text or character parameters to use the ANSI character set; if you register it by using RegisterClassExW, the application requests that the system pass text parameters of messages as Unicode. The IsWindowUnicode function enables applications to query the nature of each window. For more information on ANSI and Unicode functions in the Win32 API, see Function Prototypes.
All window classes that an application registers are unregistered when it terminates.
Windows 95: All window classes registered by a DLL are unregistered when the DLL is unloaded.
Windows NT: No window classes registered by a DLL are unregistered when the DLL is unloaded.
Windows 95: RegisterClassEx fails if the cbWndExtra or cbClsExtra member of the WNDCLASSEX structure contains more than 40 bytes.
Windows NT: Requires version 4.0 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in winuser.h.
Import Library: Use user32.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT.
Window Classes Overview, Window Class Functions, CreateWindow, CreateWindowEx, GetClassInfoEx, GetClassName, UnregisterClass, WindowProc,WNDCLASSEX