Функция RegisterClassW (winuser.h)

Регистрирует класс окна для последующего использования в вызовах функции CreateWindow или CreateWindowEx .

Примечание Функция RegisterClass заменена функцией RegisterClassEx . Однако вы по-прежнему можете использовать RegisterClass, если не нужно задавать маленький значок класса.
 

Синтаксис

ATOM RegisterClassW(
  [in] const WNDCLASSW *lpWndClass
);

Параметры

[in] lpWndClass

Тип: const WNDCLASS*

Указатель на структуру WNDCLASS . Перед передачей в функцию необходимо заполнить структуру соответствующими атрибутами класса.

Возвращаемое значение

Тип: ATOM

Если функция выполняется успешно, возвращаемое значение представляет собой атом класса, который однозначно идентифицирует регистрируемого класса. Этот атом может использоваться только функциями CreateWindow, CreateWindowEx, GetClassInfo, GetClassInfoEx, FindWindow, FindWindowEx и UnregisterClass , а также методом IActiveIMMap::FilterClientWindows .

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

При регистрации класса окна с помощью RegisterClassA приложение сообщает системе, что окна созданного класса ожидают сообщений с текстовыми или символьными параметрами для использования кодировки ANSI; Если вы регистрируете его с помощью RegisterClassW, приложение запрашивает, чтобы система передала текстовые параметры сообщений в формате Юникод. Функция IsWindowUnicode позволяет приложениям запрашивать природу каждого окна. Дополнительные сведения о функциях ANSI и Юникода см. в разделе Соглашения для прототипов функций.

Все классы окон, регистрируемые приложением, отменяются при завершении его работы.

Никакие классы окон, зарегистрированные библиотекой DLL, не регистрируются при выгрузке библиотеки DLL. Библиотека DLL должна явно отменять регистрацию своих классов при выгрузке.

Примеры

Пример см. в разделе Связывание процедуры Window с классом Window.

Примечание

Заголовок winuser.h определяет RegisterClass как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header 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

Отмена регистрацииClass

WNDCLASS

Классы окон

Windowproc