本例演示在MFC中使用多进程。创建两个进程,并实现两者间的通信分别为第一部分仅发送消息,第二部分使用WM_COPYDATA消息实现传输内容(MFC多进程间使用WM_COPYDATA消息进行通信)。第三部分使用内存共享的方式实现数据传输(MFC多进程间使用内存共享消息进行数据传输)。
演示系统为Win10,平台为VS2017(MFC)。
第一部分:
1.使用VS2017搭建基于对话框的MFC应用程序,名为“MainProcess”。并放置一个EDIT控件和两个BUTTON控件并将对话框Caption命名为“MainProcess”,如图。
2.右键“解决方案“MainProcess””->添加->新建项目
3.选择“MFC应用程序”并命名为“ChildProcess”
4.打开ChildProcess的对话框编辑页,添加一个EDIT控件并将对话框Caption命名为“ChildProcess”
5. 右键“解决方案“MainProcess””->属性->启动项目,选择单项目启动“MainProcess”
6.在MainProcessDlg.cpp实现文件中添加宏定义:
//自定义用户消息
#define WM_MYMESSAGE WM_USER + 1
7.双击MainProcessDlg按钮添加按钮响应函数:
//启动子程序按钮响应函数
void CMainProcessDlg::OnBnClickedButton1()
{
PROCESS_INFORMATION pi =