Я успешно зарегистрирован класс окна с помощью RegisterClassEx
и создали окно, используя CreateWindowEx
:Какие условия должны выполняться для отправки сообщения в окне?
m_hInstance = ::GetModuleHandle(NULL);
...
m_hWnd = ::CreateWindowEx(0, "CMyClassName", "Message Window", 0, 0, 0, 0, 0, HWND_MESSAGE, 0, m_hInstance, 0);
Соответствующая оконная процедура получает сообщения 36, 129, 131, и 1, и возвращаемый HWND
не является нулевым. Однако, когда я позднее назвал PostMessage
(из другого потока):
bool bPosted = ::PostMessage(m_hWnd, WM_APP + 3, 0, 0);
даже если bPosted верно, то оконная процедура не вызывается. Я пытаюсь понять, почему это должно быть. Процедура окна - это одна из MSDN example. Я хотел бы добавить еще один случай, как только подтвержу, что сообщения прошли.
Какие условия должны быть выполнены для сообщения в окне, которое должно быть опубликовано?
Я обновил вопрос в ответ на некоторые из ваших проблем. – Simon
Возможно, здесь важна WndProc. Я думаю, что цикл сообщений также, если только для полноты. –
Я добавил ссылку на код wndproc, который я использовал. Нужно ли писать цикл сообщений? Я уже получил четыре сообщения, которые я описал, поэтому я предположил, что существует цикл сообщений. – Simon