读书人

bcb 写的DLL 是否可以实现消息泵?解决

发布时间: 2012-02-09 18:22:27 作者: rapoo

bcb 写的DLL 是否可以实现消息泵? - C++ Builder / Windows SDK/API
bcb开发的一个DLL,支持VCL,但是没有固定的主窗口,就是DLL中有3个Form,导出了一个函数ShowForm(int number),然后如果number为1,则new一个From1的窗体,然后ShowModal一下,如果number为2,那么就new一个Form2显示一下,就是没有固定的主窗口,现在想在DLL里面实现消息泵,就是如果这个DLL接收了某个消息WM_MSG1,然后就New 一个Form3显示出来,请DLL中实现过消息泵的高手指点一下

[解决办法]
完全可以,但是必须要与调用程序约定清楚,要实现消息的处理首先要有一个独立的线程资源。
[解决办法]
Dll内部用AllocateHWnd创建一个隐藏窗口。
然后进出该窗口的句柄。
内部处理下消息不同的消息响应不同的代码就可以了。

具体可参考TTimer的源代码。

读书人网 >C++ Builder

热点推荐