利用内存映射文件在两个进程间共享数据 转
2014-06-27 13:18
459 查看
private hMapFile: THandle; MapFilePointer: Pointer; public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.FormCreate(Sender: TObject); begin hMapFile := CreateFileMapping ( $FFFFFFFF, // 特殊内存映射句柄 nil, page_ReadWrite, 0,10000, 'DdhDemoMappedFile'); // 文件名 if hMapFile <> 0 then MapFilePointer := MapViewOfFile ( hMapFile, // 上面映象文件的句柄 File_Map_All_Access, 0, 0, 0) // 访问整个映象文件 else ShowMessage ('hMapFile = 0'); if MapFilePointer = nil then ShowMessage ('MapFilePointer = nil'); end; procedure TForm1.BtnWriteClick(Sender: TObject); begin StrCopy (PChar (MapFilePointer), PChar (EditWrite.Text));//把内容写入共享内存 end; procedure TForm1.BtnReadClick(Sender: TObject); var S: string; begin S := PChar (MapFilePointer);//从共享内存读出内容 EditRead.Text := S; end;
用这种方法,不但可以在不同的程序之间共享数据,还可以
在同一程序的不同实例间共享数据。为了及时通知其它进程
共享数据的变化,可以自定义一条用户消息,通过发消息来
实现。
相关文章推荐
- 利用内存映射文件在两个进程间共享数据
- 利用内存映射文件在进程间共享数据
- 利用内存映射文件在进程间共享数据
- 利用内存映射文件在进程间共享数据
- 利用内存映射文件在进程间共享数据
- 猎豹MFC--内存映射_两个进程间共享数据
- windows笔记-使用内存映射文件在进程之间共享数据
- 使用内存映射文件在进程之间共享数据
- windows笔记-使用内存映射文件在进程之间共享数据
- 使用内存映射文件在进程之间共享数据
- Win32汇编使用内存映射文件在进程间共享数据
- 通过内存映射文件实现进程间数据共享
- c++ 内存映射文件进程间共享数据
- 用内存映射文件在进程中共享数据
- UNIX环境高级编程学习之第十五章进程间通信 - 两个进程通过映射普通文件实现共享内存通信
- 内存映射文件--进程间数据共享
- 使用内存映射文件在进程间共享数据
- 使用内存映射文件在进程间共享数据
- 用内存映射文件在进程中共享数据http://blog.csdn.net/zicheng_lin/article/details/6660404
- 进程间通过内存映射文件共享数据