MFC两对话框之间为啥我接收不到消息
HWNDhWnd=::FindWindow(NULL,_T("test3"));if(hWnd!=NULL){::SendMessage(hWnd,WM_MYMESSAG...
HWND hWnd = ::FindWindow(NULL,_T("test3"));
if(hWnd!= NULL ){
::SendMessage(hWnd,WM_MYMESSAGE2,0,0);
}//发送代码
ON_MESSAGE(WM_MYMESSAGE2, Handler)
LRESULT Ctest3Dlg::Handler(WPARAM wParam,LPARAM lParam)
{
ToTray();
return 0;
}//接收代码
发出去了接收不到, 展开
if(hWnd!= NULL ){
::SendMessage(hWnd,WM_MYMESSAGE2,0,0);
}//发送代码
ON_MESSAGE(WM_MYMESSAGE2, Handler)
LRESULT Ctest3Dlg::Handler(WPARAM wParam,LPARAM lParam)
{
ToTray();
return 0;
}//接收代码
发出去了接收不到, 展开
3个回答
展开全部
如果是2个进程,就得用全局消息,你先把WM_MYMESSAGE2注册一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1 afx_msg LRESULT Ctest3Dlg::Handler(WPARAM wParam,LPARAM lParam)
{
ToTray();
return 0;
}//接收代码
加个头吧afx_msg
{
ToTray();
return 0;
}//接收代码
加个头吧afx_msg
追问
我之前已经声明过了,加了报错
追答
我用你发布的代码试了 没问题
我一个主对话框(CTDlg ) Caption = test
tdlg.h
类中定义
public:
afx_msg LRESULT MyMessage(WPARAM wParam,LPARAM lParam); //消息映射函数
tdlg.cpp
#incldue "dialog.h"
消息 中添加
ON_MESSAGE(WM_MYMSG,MyMessage) //******消息映射
实现
LRESULT CMyPostMessageDlg::MyMessage(WPARAM wParam,LPARAM lParam) //******消息接收实现函数
{
MessageBox("aa","",0);
return 0;
}
一个子对话框(dialog1) 发送消息
dialog1.h中定义消息
#define WM_MYMSG WM_USER+100 //******自定义消息
dialog1.cpp
添加按钮事件
void dialog1::OnButton1()
{
HWND hWnd = ::FindWindow(NULL,_T("test"));
if(hWnd!= NULL ){
::SendMessage(hWnd,WM_MYMSG,0,0);
}
}
测试成功
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你应该确定一下hWnd!= NULL 这个条件是否成立。
追问
那里调试过了,是不等于0的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询