2010-11-21 4 views
6

Мне нужно написать обработчик сообщения в моем консольном приложении, которое обрабатывает полученные сообщения. Например, зарегистрировать WM_Test и отправить его в мой консольного приложения, как это:Как я могу заставить консольное приложение получать оконные сообщения?

var 
    H: THandle; 
begin 
    H:= FindWindow('ConsoleWindowClass', nil); 
    PostMessage(H, WM_Test, 0, 0); 
end; 

Теперь я хочу, когда я получаю это сообщение в моем консольное приложение, чтобы показать окно сообщения.

Могу ли я использовать PeekMessage или AllocateHWND в консольных программах?

Я знаю, что я могу сделать эту работу с pipe, но я хочу знать, могу ли я сделать это с помощью окна сообщения.

ответ

5

Да, вы можете. Используйте AllocateHWND для создания дескриптора окна. Затем вы можете установить различные свойства (например, имя), чтобы вы могли найти его с помощью FindWindow.

Смежные вопросы