向控制台应用程序发送 windows 消息

Send windows message to a console application

我有一个向 UI 应用程序发送消息的 DLL,DLL 发送的大多数消息中都包含文本,GUI 应用程序获取消息并根据留言。

我需要创建一个使用相同 DLL 的控制台应用程序,是否有任何选项可以将消息发送到控制台应用程序,因为在控制台应用程序中我没有 windows 消息过程。

在 GUI 应用程序中,我加载 DLL 并使用其功能之一将我当前的 HWND 设置为 DLL,一旦我这样做,所有消息都会发送到我的 GUI .

我考虑过向 DLL 添加一个布尔值,以了解 DLL 是从 GUI 接口还是从命令行控制台应用程序调用的,但这涉及到 DLL 代码的大量更改.

如何获取消息或将消息重定向到控制台应用程序(命令行界面)?

DLL、GUI 和控制台应用程序使用 win32 API.

在 C/C++ 中编码

提前致谢

您可以在控制台应用程序中创建 window,就像在标准 Windows 应用程序中一样。如果你创建一个message only window(在调用CreateWindow()时将window的父级设置为HWND_MESSAGE),那么它将不可见,但仍然可以接收Windows 封邮件。您需要在控制台应用程序中的某处设置标准 Windows 消息循环 运行,以便将消息发送到您的 window.