设为首页收藏本站官方微博

【汉化资料】window中进程间如何通信

[复制链接]
查看: 1207|回复: 4
打印 上一主题 下一主题

【汉化资料】window中进程间如何通信

跳转到指定楼层
楼主
发表于 2009-6-27 21:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

【汉化资料】window中进程间如何通信

一个间接办法,你可用一个"共享名"申请一块共享内存块,进行读写:
, Y- u; R( v( i7 yHANDLE GetShare(char * &ShareP,int size,char *ShareName)
; v; U4 a+ @' U{
7 ?/ g' ^9 R1 K" ~9 P5 F//ShareP申请的内存块地址,size字节数,ShareName共享名
3 L- g7 t* p. f; ^, YHANDLE fh=CreateFileMapping((HANDLE)-1,0,PAGE_READWRITE,0,Size,ShareName);
1 L0 h( ^. H3 G0 BShareP=(char *)MapViewOfFile(fh,FILE_MAP_ALL_ACCESS,0,0,0);
" l, K3 b6 p7 O& l7 U1 Uif(GetLastError()!=ERROR_ALREADY_EXISTS) 2 u# D6 D" O- _6 s
ZeroMemory(ShareP,size); // 共享区初始化 ! z- H( s" A0 T; ~4 }$ [) l
return(fh);
- k; S( ?6 |! k8 F0 T3 W} # t  j* o9 M  @" c" k
char * ShareP=NULL;
( Y  g- d% S+ G; }( Z% w( Pvoid test() // 申请一块128个字节的字符数组 1 X  K# U( f/ j% ^5 E+ M- z
{ 5 q3 j3 l: l% }+ ]! E7 N
HANDLE fh=GetShare(ShareP,128,"ShareForMyProg");
' z# l9 A* x5 Ifor (int i=0;i<128;i++)
  |  q. v: ~0 U! FShareP=i; 4 M3 H' k4 `, q  \) E( U8 @. A( |
CloseHandle(fh); $ y* _" l. U  \
}
* T8 U; t1 ~* G% c; W8 x. _9 u如果你的多个程序之间或同一个程序多次同时运行,也可借助这个办法进变量通讯;你的若干个进程可借助于这种办法互相传递数据。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2009-7-9 11:21 | 只看该作者
DDE的也可以...或者配置共享...
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2009-7-9 11:41 | 只看该作者
引用第1楼firendless于2009-07-09 11:21发表的  :4 P, D. L9 T7 Q0 F! G/ {
DDE的也可以...或者配置共享...
  F, @6 _: U: V
DDE好像是挺老的技术了,win95时代的吧。
回复 支持 反对

使用道具 举报

地板
发表于 2009-7-9 11:48 | 只看该作者
嗯,但是怎么说呢,管道还是最保险和最安全的方法了吧.
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2009-7-9 11:55 | 只看该作者
有时间请多来冒泡。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

冒险解谜游戏中文网 ChinaAVG

官方微博官方微信号小黑屋 微信玩家群  

(C) ChinaAVG 2004 - 2019 All Right Reserved. Powered by Discuz! X3.2
辽ICP备11008827号 | 桂公网安备 45010702000051号

冒险,与你同在。 冒险解谜游戏中文网ChinaAVG诞生于2004年9月9日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

快速回复 返回顶部 返回列表