//發送數據 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); }
|