在MFC进程利用通信时,怎么在利用发送消息的窗口类指针pWnd在接收消息后回复一个响应。
具体想法如下:
BOOL CMainFrame::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct)
{
if (pCopyDataStruct != NULL)
{
LPCTSTR pszText = (LPCTSTR)(pCopyDataStruct->lpData);
DWORD dwLength = (DWORD)(pCopyDataStruct->cbData);
CString mystr;
memcpy(mystr.GetBuffer(dwLength / sizeof(TCHAR)), pszText, dwLength);
mystr.ReleaseBuffer();
::SendMessage(pWnd->m_hWnd, WM_COPYDATA, (WPARAM)(AfxGetApp()->m_pMainWnd), (LPARAM)pmyDataStruct);
}
return CFrameWnd::OnCopyData(pWnd, pCopyDataStruct);
}
但是通过pWnd->m_hWnd并不能成功发送数据,求教指点
pmyDataStruct是测试用的返回过去的信息,已经赋值
Visual C++ 中利用WM_COPYDATA进程通信
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
7条回答 默认 最新
- threenewbee 2015-05-01 00:47关注
下断点
LPCTSTR pszText = (LPCTSTR)(pCopyDataStruct->lpData);
DWORD dwLength = (DWORD)(pCopyDataStruct->cbData);
这里能获取到么然后下面的
pWnd->m_hWnd
这个句柄有效么?解决 无用评论 打赏 举报