//發(fā)送數(shù)據(jù) void CTestDlg::OnBnClickedBtnsendinfo() { UpdateData(TRUE); //創(chuàng)建文件映像對象 HANDLE hMapping; LPSTR StrData; hMapping=CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0, 0x100,"COMMUNICATION"); if(hMapping==NULL) { MessageBox("創(chuàng)建文件映像對象","信息提示",MB_OK); return; } //將文件映射到一個進(jìn)程的地址空間上 StrData=(LPSTR)MapViewOfFile(hMapping,FILE_MAP_ALL_ACCESS,0,0,0); if(StrData==NULL) { AfxMessageBox("MapViewOfFile() failed."); MessageBox("文件映射失敗","信息提示",MB_OK); return; } //向映射內(nèi)存寫數(shù)據(jù) sprintf(StrData,m_StrSendData); //釋放映像內(nèi)存 UnmapViewOfFile(StrData); } //接收數(shù)據(jù) void CTestDlg::OnBnClickedBtnreceiveinfo() { //創(chuàng)建文件映像對象 HANDLE hMapping; LPSTR StrData; hMapping=CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0, 0x100,"COMMUNICATION"); if(hMapping==NULL) { MessageBox("創(chuàng)建文件映像對象","信息提示",MB_OK); return; } //將文件映射到一個進(jìn)程的地址空間上 StrData=(LPSTR)MapViewOfFile(hMapping,FILE_MAP_ALL_ACCESS,0,0,0); if(StrData==NULL) { AfxMessageBox("MapViewOfFile() failed."); MessageBox("文件映射失敗","信息提示",MB_OK); return; } //獲取映像內(nèi)存的數(shù)據(jù)量 m_StrReceiveData.Format("%s",StrData); //釋放映像內(nèi)存 UnmapViewOfFile(StrData); UpdateData(FALSE); }
|