//发送数据 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); }
|