当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

window中进程间如何通信

    一个间接办法,你可用一个“共享名”申请一块共享内存块,进行读写:

 handle  getshare(char * &sharep,int size,char *sharename)
{
//sharep申请的内存块地址,size字节数,sharename共享名
handle fh=createfilemapping((handle)-1,0,page_readwrite,0,size,sharename);
sharep=(char *)mapviewoffile(fh,file_map_all_access,0,0,0);
if(getlasterror()!=error_already_exists)
  zeromemory(sharep,size);  // 共享区初始化
return(fh);
}

char * sharep=null;

void  test()  // 申请一块128个字节的字符数组
  {
  handle fh=getshare(sharep,128,\"shareformyprog\");
  for (int i=0;i<128;i++)
    sharep[i]=i;
  closehandle(fh);
  }

    如果你的多个程序之间或同一个程序多次同时运行,也可借助这个办法进变量通讯;你的若干个进程可借助于这种办法互相传递数据。
相关内容
赞助商链接