2010-11-21 98 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找到它。

相关问题