内存读写函数实现进程间通信
内存读写函数实现进程间通信
上一篇博文讲了使用Windows自定义消息实现进程间的通信,而今天这篇博文讲重点讲解使用内存读写函数实现进程间的通信。
使用内存读写函数实现进程间通信,是使用自定义消息和内存读写函数来实现的,通过上一篇博文,我们都知道了,在使用自定义消息通信的时候,有一个局限性的条件------只能传递长整形的数据,而对于字符串数据,那是无可奈何的。所以,使用内存读写函数是完全可以实现的。
两个内存读写函数:
WriteProcessMemory()和ReadProcessMemory();
WriteProcessMemory()函数实现在进程的内存空间进行写操作,而ReadProcessMemory()函数实现在进程的内存空间进行读取操作。
自定义消息通信只能传递一个长整形的数值,而内存读写函数却需要一个内存读写地址,并且缺少一个传递数据指针的方法。这样它们正好可以结合在一起,来进行大批量的数据传递工作。
现在开始讲解一下这篇博文将使用的测试程序,通过程序来理解这个,还是很好的。同上一篇博文的测试程序一样,这里也是两个程序,一个发送,一个接受,两个程序,产生两个进程,从而实现在这两个进程之间的通信。
上图是自己画的一个示意图,以来说明这个程序。代码我就不在这里插入了,比较占地方,也不好说清楚问题,这里提供代码的下载地址,欢迎大家下载(注:测试项目使用vs2008建立的,如使用低版本的vs,可能会出现问题)