希望能在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);
}
希望高手们能帮着调一调,谢谢大家
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);
}
希望高手们能帮着调一调,谢谢大家
解决方案 »
- VC 中调用 EXCEL 宏出现COleDispatchException,怎样解决?
- 请教:控件注册成功,打开本地网页,控件加载正常。打开服务器上同一网页,却失败
- ado 内存泄漏问题
- 哪位大虾能把周长发Visual C++图象处理编程源码发给我?先行谢过
- 简单问题:LPARAM 是一个long(32bit),双字,怎么分别得到高位字和低位字的值。
- 我的程序为什么不能在xp下运行
- 请问什么是钩子?
- 请教,installshield的问题(在线等待)!!!!!!
- 用DAO的程序怎么做安装啊???????
- 我是学通信的,学vc往哪一方面努力?
- ActiveX控件在网页上不显示,什么原因?
- 帮忙给我们家小皇帝投票!!!散分啦:)
2、报什么错?
没看出你的代码这样写的意义。还有,出什么错了?有错误提示吗?在调试中看一下调用栈呢?