通过以下代码:
// 发送一个数据到达目标窗口
HWND hwndFrom,hwndTo; //hwndTo=::FindWindow(0,LPCSTR(m_comboWT));
CWnd *pWnd=FindWindow(0,LPCSTR(m_sendWT));
if(!hwndTo){
AfxMessageBox("没有找到目标窗口");
return ;
}
hwndFrom = AfxGetMainWnd()->m_hWnd; //::PostMessage(hwndTo,WM_COPYDATA,(unsigned int)hwndFrom,'1');
pWnd->SendMessage(WM_COPYDATA,(unsigned int)hwndFrom,'1');/////////////////////////////
接受方:BOOL CVirCommDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct)
{
// TODO: Add your message handler code here and/or call default
char ch;
ch = (char)pCopyDataStruct;
m_receiveData += ch;
UpdateData(FALSE);
return CDialog::OnCopyData(pWnd, pCopyDataStruct);
}同一个进程可以相应这个消息,但是不同的进程就不能接受到。
代码是一样的,运行两个实例。
请高手指点,为何?
// 发送一个数据到达目标窗口
HWND hwndFrom,hwndTo; //hwndTo=::FindWindow(0,LPCSTR(m_comboWT));
CWnd *pWnd=FindWindow(0,LPCSTR(m_sendWT));
if(!hwndTo){
AfxMessageBox("没有找到目标窗口");
return ;
}
hwndFrom = AfxGetMainWnd()->m_hWnd; //::PostMessage(hwndTo,WM_COPYDATA,(unsigned int)hwndFrom,'1');
pWnd->SendMessage(WM_COPYDATA,(unsigned int)hwndFrom,'1');/////////////////////////////
接受方:BOOL CVirCommDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct)
{
// TODO: Add your message handler code here and/or call default
char ch;
ch = (char)pCopyDataStruct;
m_receiveData += ch;
UpdateData(FALSE);
return CDialog::OnCopyData(pWnd, pCopyDataStruct);
}同一个进程可以相应这个消息,但是不同的进程就不能接受到。
代码是一样的,运行两个实例。
请高手指点,为何?
解决方案 »
- 工具栏 状态栏 在 对话框 伸缩
- VC中出现此错误 致命错误 RC1015: 无法打开包含文件 'include'!!
- 关于MFC 连接SQLSERVER 2000 用到视图的问题,求教!
- 对于4bit和1bit位图水平翻转问题
- 今天就要去复试了 睡不着 比较紧张 不知道会问一些什么问题
- 关于视频聊天软件的话题
- 急请问:自定义的消息在哪里处理或者由什么函数处理?
- 编译中的/IGNORE:和/MERGE:都是什么意思啊?
- 急,连接错error LNK2019: unresolved external symbolclass CMatrix const __cdecl operator+(class CMatrix const &,class CMatrix
- 还是一个网络编程的问题,搞死我了!
- 请教一吓有办法获取当前文本框选中的内容吗``
- 急!!!在线等待!!!从其他工程中导入的类如何和现有工程的对话框联系起来?!
为什么访问自己的窗体可以?(一个实例,查找自己的窗口)关于你说的,我去看看,谢谢!!!
{
UpdateData(); COPYDATASTRUCT cds;
cds.dwData = '1';
cds.lpData = NULL;
cds.cbData = 0;
// 发送一个数据到达目标窗口
HWND hwndFrom,hwndTo; //CWnd *pWnd=FindWindow(0,LPCSTR(m_sendWT));
hwndTo = ::FindWindow(0,LPCSTR(m_sendWT)); if(!hwndTo){
AfxMessageBox("没有找到目标窗口");
return ;
}
hwndFrom = AfxGetMainWnd()->m_hWnd; ::SendMessage(hwndTo,WM_COPYDATA,(unsigned int)hwndFrom,(LPARAM) &cds);
//pWnd->SendMessage(WM_COPYDATA,(unsigned int)hwndFrom,(LPARAM) &cds);
}BOOL CVirCommDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct)
{
// TODO: Add your message handler code here and/or call default
COPYDATASTRUCT *p;
p = pCopyDataStruct; m_receiveData += p->dwData;
UpdateData(FALSE);
return CDialog::OnCopyData(pWnd, pCopyDataStruct);
}