进程间用WM_COPYDATA进行通信,怎么没反应?
我在客户端的“传递消息”按钮程序中的代码如下:
void CCSocketcliDlg::OnCopydata()
{
// TODO: Add your control notification handler code here
COPYDATASTRUCT cds;
char *str="this is visual c++!";
cds.dwData=8888;
cds.lpData=str;
cds.cbData=lstrlen(str)+1;
CWnd *hWnd=NULL;
hWnd=CWnd::FindWindow(NULL,"Receiver"); //另外进程的窗口名称
BOOL Result=hWnd->SendMessage(WM_COPYDATA,(WPARAM)(HWND)this->m_hWnd,(LPARAM)(PCOPYDATASTRUCT)&cds);
if (Result)
{
AfxMessageBox("SUCCESS!");
}
}
在另一个服务端程序中添加了COPYDATA的消息函数:
BOOL CCSocketDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct)
{
return CDialog::OnCopyData(pWnd, pCopyDataStruct);
}
我先启动了服务端程序,然后启动客户端程序,可我点击“传递消息”按钮后,程序没什么反应,也没有弹出“success”的对话框?这是什么原因呢??