dll向EXE发送消息的问题
希望能在exe中响应dll传会的消息。现在已经在exe中该消息的声明和处理已经都做好了。我按照网上查的资料,修改dll时,出现了两个问题,希望大家能帮着解决一下:
1.我希望在exe窗口上点击一个按钮,调出dll的窗口,不过如何将exe的窗口句柄传给dll?dll中要有一个什么样的变量接收这个hwnd?
2.我的dll按如下操作总是报错:
(1) 在stdafx.h头文件中添加消息定义:
#define WM_MSG WM_USER + 102
(2) 添加启动消息的输出函数:(我把这个东西加到了CMessageDLLApp这个类里面,不知道对不对)
CMessageDLLApp theApp;
extern "C" _declspec(dllexport) void StartSendMessage(HWND hwnd)
{
theApp.SendMessage(hwnd);
}
其中hwnd是接收消息的窗口句柄。
(3) 添加启动消息的实现函数:(加到了CMessageDLL里面)
在CMessageDLL头文件中添加函数声明:
void SendMessage(HWND hwnd);
在CMessageDLL文件中添加函数实现
void CMessageDLLApp::SendMessage(HWND hwnd)
{
::PostMessage(hwnd,WM_MSG,0,1);
}
希望高手们能帮着调一调,谢谢大家