C++Builder实现内存映射

本文介绍了如何使用C++Builder进行内存映射,实现数据在发送端和接收端之间的通信。发送端负责将数据写入共享内存,接收端负责显示这些数据。通过消息机制和信号量,确保了数据的同步。详细展示了发送端和接收端的代码实现,包括创建、打开内存映射文件,映射到进程,以及撤销映射和关闭文件的过程。最后,提供了源码下载链接。
摘要由CSDN通过智能技术生成

这里内存映射发送端(以后简称:发送端)负责写入数据到共享内存中,内存映射接收端(以后简称:接收端)负责显示写入的数据;

当然也可以打开多个内存映射发送端(这里也可以通过读出按钮显示写入到共享内存的数据);


输入信息,并单击写入


接收端显示写入信息,这里可以修改接收端信息,在发送端读出


发送端代码:

定义共享内存中的数据结构:

struct shareMem {
HWND hWnd;
        char text[255];
} *shMem;

这里通过消息机制通知接收端获取共享内存中的数据,所以还要定义信号量:

#define WM_DATA WM_USER+2000

窗口生成时创建映像文件(或者打开)并映射到本进程中

void __fastcall TForm1::FormCreate(TObject *Sender)
{
    fMap = OpenFileMapping(FILE_MAP_WRITE,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值