- 注册时间
 - 2010-8-21
 
- 最后登录
 - 2017-5-28
 
- 在线时间
 - 4 小时
 
 
 
 
 
编程入门 
  
	- 魔鬼币
 - 598 
 
 
 
 | 
 
程序1 -- 建立共享区:- HANDLE m_hMapFile=CreateFileMapping(  //创建一个有名的共享内存
 
 -     (HANDLE)0xFFFFFFFF, //0xFFFFFFFF表示创建一个进程间共享的对象
 
 -     NULL,
 
 -     PAGE_READWRITE,  //读写共享
 
 -     0,
 
 -     0x1000,       //共享区间大小4096
 
 -     "myfile");
 
 -  
 
 - void* m_pBaseMapFile=MapViewOfFile(  //映射到本进程的地址空间
 
 -    m_hMapFile,
 
 -    FILE_MAP_READ|FILE_MAP_WRITE,
 
 -    0,
 
 -    0,
 
 -    0); 
 
 -  
 
 - unsigned char *p=(unsigned char*)m_pBaseMapFile;   //使用共享区
 
 - p[0]=00;
 
 - p[1]=11;
 
 - p[2]=22;
 
  复制代码 程序2 -- 使用共享区- HANDLE m_hMapFile =OpenFileMapping( //获得共享内存句柄
 
 -   FILE_MAP_WRITE,
 
 -   FALSE,
 
 -   "myfile"); 
 
 -  
 
 - void *m_pBaseMapFile=MapViewOfFile( //映射到本进程的地址空间
 
 -   m_hMapFile,
 
 -   FILE_MAP_READ|FILE_MAP_WRITE,
 
 -   0,
 
 -   0,
 
 -   0); 
 
 - unsigned char *p=(unsigned char*)m_pBaseMapFile;    
 
 - CString s;
 
 - s.Format("%#x: %d, %d, %d",p,p[0],p[1],p[2]); //使用共享区
 
 - AfxMessageBox(s);
 
 -        p[0]=33;
 
 -        p[1]=44;  //修改共享区
 
 -  
 
 - 取消本进程地址空间的映射:
 
 - UnmapViewOfFile(m_pBaseMapFile); 
 
  复制代码 |   
 
 
 
 |