由于MSCOMM控件的注册问题,为了加快开发速度,就用上了WM_COPYDATA,很快就实现了进程间通信。
具体如下:
先写接收端源码,在三个地方做修改:
1.在头文件做函数声明:
afx_msg BOOL OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct);
2.在初始化函数里面做绑定
BEGIN_MESSAGE_MAP(CcommtestDlg, CDialogEx)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_WM_COPYDATA()
END_MESSAGE_MAP()
3.在文件中定义接收函数
BOOL CCopyDataReceiverDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct)
{
if (pCopyDataStruct->cbData > 0)
{
char recvData[256] = {0} ;
strncpy(recvData, (char *)pCopyDataStruct->lpData, pCopyDataStruct->cbData);
SetDlgItemText(IDC_EDIT_RECEIVE, (char *)recvData);
Feedback(pWnd);
}
return CDialog::OnCopyD