VC++主程序与DLL共享内存数据CreateFileMappingOpenFileMapping openfilemapping 失败
主程序写入内存://创建映射数据void CreateMemMap( ){HANDLE hMap; TShareMem*pShareMem; //创建共享内存,最后一个参数为创建的共享内存名称 hMap=::CreateFileMapping((HANDLE)-1,NULL,PAGE_READWRITE,0,sizeof(TShareMem),_T("MyShareMap")); if ( hMap == NULL ) { AfxMessageBox(_T("不能创建内存映射文件!")); } //写共享内存区,将内存映射为文件 pShareMem =(TShareMem*)MapViewOfFile(hMap, FILE_MAP_WRITE,0, 0, 0);memcpy(pShareMem->szSendCOM,_T("COM1"),10);memcpy(pShareMem->szReceviceCOM,_T("COM2"),10);memcpy(pShareMem->szTester,_T("zly"),10);}
DLL读取内存数据:void ReadMemMap(){HANDLE hMap; HANDLE hAddress;char szSendCOM[10];char szReceviceCOM[10];char szTester[10]; //读共享内存hMap = ::OpenFileMapping( FILE_MAP_WRITE, false,_T("MyShareMap"));if (hMap == 0 )MessageBox(NULL,_T("读取共享内存!"),_T("提示"),MB_OK);
hAddress = MapViewOfFile(hMap, FILE_MAP_WRITE, 0, 0, 0);if ( hAddress == NULL )MessageBox(NULL,_T("不能打开映射文件!"),_T("提示"),MB_OK);TShareMem* pShareMem;pShareMem = (TShareMem*)hAddress;//初始化数据memset(szSendCOM,0,sizeof(szSendCOM));memset(szReceviceCOM,0,sizeof(szReceviceCOM));memset(szTester,0,sizeof(szTester));//拷贝共享内存区的内容CopyMemory(szSendCOM,pShareMem->szSendCOM,10);CopyMemory(szReceviceCOM,pShareMem->szReceviceCOM,10);CopyMemory(szTester,pShareMem->szTester,10);//释放CloseHandle(hMap); UnmapViewOfFile(hAddress);}
此方法实现主程序向DLL共享数据,反向也可以再共享回来,不过由大家来实现吧^__^
方法二:主程序定义结构体,通过在调用DLL函数时将传递结构体指针也可以实现数据传递。注:在DLL中要使用主程序的控件或者对话框时,最好不要直接传主程序的控件或者对话框的指针,而要传其句柄!!!
VC++ 共享内存数据的实现CreateFileMapping OpenFileMapping
更多阅读
安卓手机用WIFI与电脑共享文件 电脑wifi共享文件
大家在往手机里传文件的时候是不是还在使用原始的数据线,要不就是使用蓝牙进行传输,数据线传输受到线路和接口的影响,也不是很方便,而且。数据线连接长期使用,易使手机数据口损坏。蓝牙传输又相对较为麻烦,电脑要有蓝牙模块,还需要在电脑端
win7无线局域网建立与文件共享 无线局域网共享文件夹
win7无线局域网建立与文件共享——简介这是老师给我们的作业,顺便把它传上来了:win7很强大,建立局域网的方法也很多,这里我用的是最简单的方法。win7无线局域网建立与文件共享——工具/原料win7带有无线网卡的台式电脑,或者笔记本电脑
秦美人坐骑进阶数据与骑兵进阶数据总汇 秦美人骑兵7升8数据
秦美人坐骑进阶数据与骑兵进阶数据总汇看前须知:坐骑进阶和骑兵进阶,坑死了很多人,也养肥了很多人,前者一脸黑,后者人品爆。整理出这两份表格,是为了给准备进阶的朋友一个参考,看表之前,请记好,有后路的进阶和没后路的进阶,决定
非常有用的电脑知识大全总结,与大家共享一下! office共享功能有用吗
安全删除U盘时,遇到提示“无法停止‘通用卷’设备时解决方法安全删除U盘时,大家常常会遇到提示“无法停止‘通用卷’设备,请稍候再停止该设备。”这种情况下可以强行拔下U盘吗?当然不可以!这时候如果强行拔除的话,很容易损坏计算机U口或者
mini 教你安卓手机共享GPS数据给mini的方法,无需越狱 无需电脑越狱
是基站的模糊定位,是精准定位的哦,绝对好用,亲测已成功,ipad不用越狱,不用任何软件,只要是手机上需要两个软件,一部安卓手机和一个没有内置GPS的ipad,如果你的手机可以共享网络就不需要两个软件了,一个就搞定了如果你的手机不能共享网络,先安