CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  进程/线程/DLL

请教进程间通信问题

楼主chasedreamer()2002-04-08 19:31:10 在 VC/MFC / 进程/线程/DLL 提问

如何利用共享内存,实现进程间通信?请高手指教!  
  Thanks! 问题点数:20、回复次数:4Top

1 楼Fnoopy(编得程序,抱得美女。)回复于 2002-04-08 20:40:33 得分 0

《windows核心编程》看吧。Top

2 楼horizon_tj(地平线)回复于 2002-04-08 20:57:43 得分 0

共享数据段,或者内存映射文件Top

3 楼copy_paste(木石三)回复于 2002-04-08 21:16:45 得分 0

CreateEvent,    
  WaitForSingleObject  
  ResetEvent  
   
  Semaphore,   Mutex  
   
  CreateMapFile  
   
  SendMessageTop

4 楼zhougaomin_007(风之力量)回复于 2002-04-08 21:27:29 得分 20

#define   MUST_SHARE_BUFFER_SIZE   1024             //共享1K    
  #define   NAME_OF_FILEMAP                 "NAME001"     //文件映象名称,另一个进程必须使用同一名称  
   
  HANDLE   hFileMapping;  
   
  hFileMapping   =   ::CreateFileMapping(  
                                      (HANDLE)0xffffffff,  
                                      (LPSECURITY_ATTRIBUTES)NULL,  
                                      PAGE_READWRITE,  
                                        0,//高位,因为是64位  
                                        MUST_SHARE_BUFFER_SIZE,  
                                        NAME_OF_FILEMAP     );  
   
  char*pShareMemoryBaseAddress;  
   
  pShareMemoryBaseAddress   =   (char*)::MapViewOfFile(  
                                              hFileMapping   ,      
                                              FILE_MAP_ALL_ACCESS,                                                      
                                              0,0,   //offset64位偏移量  
                                                MUST_SHARE_BUFFER_SIZE     );  
   
  /*说明:在两个进程中调用完全相同,哪个进程先调用,  
  变先开辟了一块共享内存  
   
  现在两个进程都可以用pShareMemoryBaseAddress指针访问该共享内存*/  
  //测试   一个进程写入一些字符,另一进程读出显示:  
  //进程一写入代码:  
  CString   str("Test1234567890");  
  memcpy(pShareMemoryBaseAddress   ,(LPCTSTR)str,str.GetLength());  
   
  //进程二读出代码:  
  CString   str;  
  str   =   (LPCTSTR)pShareMemoryBaseAddress;  
  AfxMessageBox(str);  
   
  调通后记得给分!Top

相关问题

  • 进程间通信????
  • 关于进程间通信的问题!
  • 关于进程间通信的弱问
  • 请问进程间如何通信
  • 进程间的相互通信
  • 怎样实现进程间通信?
  • 进程间通信与线程间通信的区别?
  • 【通信】请问JAVA进程之间如何进行通信?
  • 进程通信的问题,怎么在进程间传递参数?
  • 进程间通信,进程间通信如何传递文件句柄(有难度)

关键词

  • 64位
  • 内存
  • 进程
  • psharememorybaseaddress
  • hfilemapping
  • 共享内存
  • share
  • buffer
  • str
  • size

得分解答快速导航

  • 帖主:chasedreamer
  • zhougaomin_007

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo