你是否正在寻找关于dialogboxparam的内容?让我把最完美的东西奉献给你:
本版等级:
本版专家分:98
结帖率:97.89%
楼主
发表于:
2012-08-14 09:37:47
本帖最后由 ylongwu 于 2012-08-14 10:03:31 编辑
我用
dialogboxparam()创建了一个窗口,用来调试一个dll,。
我在调用dll的时候将窗口的句柄传递给了进去,dll里通过SendMessage给窗口发送消息,但是窗口一直没收到消息。
HINSTANCEhInst;
TCHARlpTitle[]=L"示例图像";
//Messagehandlerforaboutbox.
INT_PTRCALLBACKAbout(HWNDhDlg,UINTmessage,WPARAMwParam,LPARAMlParam)
{
UNREFERENCED_PARAMETER(lParam);
switch(message)
{
caseWM_INITDIALOG:
return(INT_PTR)TRUE;
caseWM_IMAGE_READY://接收DLL发给本窗口的消息,但是一直没收到消息!!!!!!
MessageBox(hDlg,L"接收到重建完成的消息",L"提示",MB_OK);
break;
caseWM_COMMAND:
switch(LOWORD(wParam))
{
caseIDCANCEL:
EndDialog(hDlg,LOWORD(wParam));
break;
caseIDC_START_RECON:
{
MessageBox(hDlg,L"你击了开始重建",L"提示",MB_OK);
PETReconstruction(hDlg);//调用dll函数,传递窗口句柄!!!!!!!!!!!
}
}
return(INT_PTR)FALSE;
}
intAPIENTRY_tWinMain(HINSTANCEhInstance,
HINSTANCEhPrevInstance,
LPTSTRlpCmdLine,
intnCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
hInst=hInstance;
return(int)
dialogboxparam(hInst,MAKEINTRESOURCE(IDD_ABOUTBOX),NULL,About,NULL);
}
DLL里发送消息:
SendMessage(hDlg,WM_IMAGE_READY,0,0);
分享到:
|
举报 |
编辑
删除
管理
回复次数:3
本版等级:
本版专家分:12798
结帖率:100%
铜牌
2012年9月 总版技术专家分月排行榜第三
红花
2012年9月 Windows专区大版内专家分月排行榜第一
2012年9月 C/C++大版内专家分月排行榜第一
2012年8月 Windows专区大版内专家分月排行榜第一
黄花
2012年9月 其他开发语言大版内专家分月排行榜第二
2012年8月 VC/MFC大版内专家分月排行榜第二
2012年8月 其他开发语言大版内专家分月排行榜第二
更多勋章
得分:0
回复于:
2012-08-14 10:10:34
你DLL里面的WM_IMAGE_READY和窗口程序中的WM_IMAGE_READY值一样的嘛?
|
举报 |
编辑
删除
管理
本版等级:
本版专家分:98
结帖率:97.89%
得分:0
回复于:
2012-08-14 12:40:11
引用1楼的回复:你DLL里面的WM_IMAGE_READY和窗口程序中的WM_IMAGE_READY值一样的嘛?
值是一样的,我现在通过FindWindow函数能找到窗口句柄发送能得到正确的结果
应该是传给dll的窗口句柄传错了
|
举报 |
编辑
删除
管理
本版等级:
本版专家分:12798
结帖率:100%
铜牌
2012年9月 总版技术专家分月排行榜第三
红花
2012年9月 Windows专区大版内专家分月排行榜第一
2012年9月 C/C++大版内专家分月排行榜第一
2012年8月 Windows专区大版内专家分月排行榜第一
黄花
2012年9月 其他开发语言大版内专家分月排行榜第二
2012年8月 VC/MFC大版内专家分月排行榜第二
2012年8月 其他开发语言大版内专家分月排行榜第二
更多勋章
得分:20
回复于:
2012-08-14 14:01:42
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shenmilingyu/article-3236-1.html
谢小浪