sendmessage传递数据的问题?
我想在两个独立的可执行程序之间利用消息机制来传递一些字符串,我用在网上找到的一些源代码试着写了这个:
发送端:
#define WM_CURRENTINFO WM_USER+0x0101
……
void CSenderDlg::OnCommand3()
{
char *chr = "The processer is 20%";
char *cha = "null";
CString str="Receiver";
CWnd *pWnd=CWnd::FindWindow(NULL,str);
if(pWnd)
pWnd->SendMessage (WM_CURRENTINFO, (WPARAM)chr, (LPARAM)cha );
}
Receiver是我的接收程序。
接收端:
#define WM_CURRENTINFO WM_USER+0x0101
……
BEGIN_MESSAGE_MAP(CReceiverDlg, CDialog)
//{{AFX_MSG_MAP(CReceiverDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_MESSAGE(WM_CURRENTINFO,OnReceiveMsg)
END_MESSAGE_MAP()
……
void CReceiverDlg::OnReceiveMsg(WPARAM wParam,LPARAM lParam)
{
MessageBox((LPSTR)wParam,(LPSTR)lParam,0);
return;
}
现在的情况是对话框MessageBox可以弹出来,但是标题栏是乱码,而内容为空。我觉得接收端肯定接收到了消息,只是字符串的传递有问题,本人第一次做类似的东西,请各位高手帮忙看看,哪里有问题啊,谢谢!