Использование CreateWindowEx для создания окна только для сообщений - PullRequest
16 голосов
/ 02 ноября 2010

Я пытаюсь использовать CreateWindowEx для создания окна только для сообщений:

_hWnd = CreateWindowEx( 0, NULL, NULL, 0, 0, 0, 0, 0, HWND_MESSAGE, NULL, NULL, NULL );

Когда мое приложение выполняет эту строку, оно всегда возвращает _hWnd = 0.Что я делаю не так?

Ответы [ 2 ]

42 голосов
/ 02 ноября 2010

lpClassName не должно быть NULL. Зарегистрируйте класс с помощью функции RegisterClassEx и передайте его CreateWindowEx.

static const char* class_name = "DUMMY_CLASS";
WNDCLASSEX wx = {};
wx.cbSize = sizeof(WNDCLASSEX);
wx.lpfnWndProc = pWndProc;        // function which will handle messages
wx.hInstance = current_instance;
wx.lpszClassName = class_name;
if ( RegisterClassEx(&wx) ) {
  CreateWindowEx( 0, class_name, "dummy_name", 0, 0, 0, 0, 0, HWND_MESSAGE, NULL, NULL, NULL );
}
0 голосов
/ 02 ноября 2010

Согласно документам Microsoft имя класса должно быть "Сообщение".

Приветствия & hth.,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...