首页 > 系统服务 > 详细

【转】VC 利用DLL共享区间在进程间共享数据及进程间广播消息

时间:2018-01-10 10:27:15      阅读:225      评论:0      收藏:0      [点我收藏+]

1、http://blog.csdn.net/morewindows/article/details/6702342

 在进程间共享数据有很多种方法,剪贴板,映射文件等都可以实现,这里介绍用DLL的共享区间在进程间共享数据,及共享数据有变化时及时的反馈给各相关进程。

 

一.在DLL中设置共享区间

在DLL中是用数据段来实现共享区间的,有了这个共享区间,各进程可以方便的共享数据。

1.先用#pragma data_seg(Name)设置名为Name的数据段。

2.再用#pragma comment(linker, "/SECTION:Name,RWS")设置名为Name的数据段属性。/SECTION就表示为这是一个数据区间,R——Read读,W——Write写,S——Share共享。

如:

const int MAXSTRINGLEN = 1000;

#pragma data_seg("ShareData")

int iTotal = 0;

char szString[MAXSTRINGLEN] = {‘\0‘};

#pragma data_seg()

#pragma comment(linker, "/SECTION:ShareData,RWS")

注意数据一定要先初始化,否则无效。再写DLL的导出函数来操作数据如添加字符,得到字符串或直接得到字符串指针。

可以用dumpbin /SUMMARY test001.dll来查看新创建的ShareData区域。如下图:

技术分享图片

注意段的名字被截断了,再输入dumpbin /SECTION:ShareDat test001.dll查看段的详细信息,如下图:

 技术分享图片

 

2、

3、

4、

5、

 

【转】VC 利用DLL共享区间在进程间共享数据及进程间广播消息

原文:https://www.cnblogs.com/cppskill/p/8256926.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!