将Windows消息发送到控制台应用程序

Ram*_*der 2 c++ dll winapi console-application

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

我需要创建一个使用相同DLL的控制台应用程序,是否有任何选项可以将消息传递给控制台应用程序,如在控制台应用程序中我没有Windows消息过程.

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

我想到为DLL添加一个布尔值,以了解DLL是从GUI界面还是从命令行控制台应用程序调用,但这涉及到DLL代码中的大量更改.

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

DLL,GUI和控制台应用程序使用win32 API以C/C++编码.

提前致谢

And*_*ndy 5

您可以在控制台应用程序中创建一个窗口,就像在标准Windows应用程序中一样.如果您创建一个仅消息窗口(HWND_MESSAGE在调用时将窗口的父级设置为CreateWindow()),则它将不可见,但仍可以接收Windows消息.您需要在控制台应用程序中的某处运行标准Windows消息循环,以便将消息分派到您的窗口.