| //发送数据void CTestDlg::OnBnClickedBtnsendinfo()
 {
 UpdateData(TRUE);
 //创建文件映像对象
 HANDLE hMapping;
 LPSTR StrData;
 hMapping=CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,
 0x100,"COMMUNICATION");
 if(hMapping==NULL)
 {
 MessageBox("创建文件映像对象","信息提示",MB_OK);
 return;
 }
 //将文件映射到一个进程的地址空间上
 StrData=(LPSTR)MapViewOfFile(hMapping,FILE_MAP_ALL_ACCESS,0,0,0);
 if(StrData==NULL)
 {
 AfxMessageBox("MapViewOfFile() failed.");
 MessageBox("文件映射失败","信息提示",MB_OK);
 return;
 }
 //向映射内存写数据
 sprintf(StrData,m_StrSendData);
 //释放映像内存
 UnmapViewOfFile(StrData);
 }
 //接收数据
 void CTestDlg::OnBnClickedBtnreceiveinfo()
 {
 //创建文件映像对象
 HANDLE hMapping;
 LPSTR StrData;
 hMapping=CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,
 0x100,"COMMUNICATION");
 if(hMapping==NULL)
 {
 MessageBox("创建文件映像对象","信息提示",MB_OK);
 return;
 }
 //将文件映射到一个进程的地址空间上
 StrData=(LPSTR)MapViewOfFile(hMapping,FILE_MAP_ALL_ACCESS,0,0,0);
 if(StrData==NULL)
 {
 AfxMessageBox("MapViewOfFile() failed.");
 MessageBox("文件映射失败","信息提示",MB_OK);
 return;
 }
 //获取映像内存的数据量
 m_StrReceiveData.Format("%s",StrData);
 //释放映像内存
 UnmapViewOfFile(StrData);
 UpdateData(FALSE);
 }
 |