代码之家  ›  专栏  ›  技术社区  ›  Mojtaba Tajik

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

  •  6
  • Mojtaba Tajik  · 技术社区  · 14 年前

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

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

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

    我知道我可以用 pipe ,但我想知道我是否可以使用窗口消息来完成此操作。

    1 回复  |  直到 14 年前
        1
  •  5
  •   GolezTrol    14 年前

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