如何让我的控制台应用程序接收窗口消息?

时间:2010-11-21 20:48:08

标签: delphi winapi windows-messages

我需要在我的控制台应用程序中编写一个处理收到消息的消息处理程序。例如,我注册WM_Test并将其发送到我的控制台应用程序,如下所示:

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

现在我想在我的控制台应用程序中收到此消息时显示一个消息框。

我可以在控制台程序中使用PeekMessage或AllocateHWND吗?

我知道我可以使用pipe完成这项工作,但我想知道我是否可以使用窗口消息执行此操作。

1 个答案:

答案 0 :(得分:5)

是的,你可以。使用AllocateHWND创建窗口句柄。然后,您可以设置各种属性(如名称),以便使用FindWindow找到它。