本例演示在MFC中使用多进程。创建两个进程,并实现两者间的通信分别为第一部分仅发送消息(MFC多进程的创建及通信),第二部分使用WM_COPYDATA消息实现传输内容。第三部分使用内存共享的方式实现数据传输(MFC多进程间使用内存共享消息进行数据传输)。
演示系统为Win10,平台为VS2017(MFC)。
第二部分:
(本文在第一部分基础上继续进行,需要先了解第一部分内容(MFC多进程的创建及通信))
在原有的基础上,通过改用WM_COPYDATA消息来进行通信,可以携带用户自定义的内容。
1.项目MainProcess中,在原有基础上修改Dlg对话框,增加一个“发送内容”按钮,并适当调整:
2.双击“发送内容”添加响应函数:
//发送内容
void CMainProcessDlg::OnBnClickedButton3()
{
LRESULT copyDataResult;
CString strDataToSend;//要传输的内容
GetDlgItemText(IDC_EDIT1, strDataToSend);//从控件获取内容
CWnd *pOtherWnd = CWnd