c++ - 在 C++ Win32 中处理控制台应用程序/DLL 中的消息

标签 c++ dll winapi

我希望能够在控制台应用程序和/或独立 DLL 中处理 Win32 消息。

我已经能够通过以下文章在 .NET 中做到这一点,它在控制台应用程序和独立 DLL 中的 C# 中运行良好
http://msdn.microsoft.com/en-us/magazine/cc163417.aspx

有没有办法用 C/C++ Win32 API 做同样的事情?我试过 RegisterClassEx(...) 和 CreateWindow(...) 甚至将 HWND_MESSAGE 传递给 hWndParent 但问题是,在创建“不可见”窗口后,可能由于缺少消息泵而无法处理消息.

如果您有一个 DLL 入口点,消息泵会去哪里?我曾尝试在 DLL 中创建另一个线程并将 while(GetMesage(..)) 放在那里,但这也不起作用。

有什么想法吗?

最佳答案

是的,你需要一个消息泵。该窗口还具有线程关联性,因此需要在运行消息泵的同一线程上创建它。基本方法是合理的,如果您包含更多代码,可能会清楚问题所在。

关于c++ - 在 C++ Win32 中处理控制台应用程序/DLL 中的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2706132/

相关文章:

c++ - 转置结构容器

c++ - 如何配置 Eclipse 以使用特定的 MinGW 工具链

c++ - 使用 stable_sort() 将 double 排序为整数

c++动态dll加载和加载器中定义的函数

c++ - 将数百万个对象插入 Vector = bad-alloc

c# - 用于处理 C++ 类型的类型编码(marshal)处理

c# - 如何在不使用反射的情况下检查 .NET 程序集

cygwin下调用winapi编译链接静态库

winapi - 富编辑控件 : Prevent Rich Formatting?

windows - Windows 上网络接口(interface)准备就绪时的通知