您的位置:首页 > 其它

windows进程间通讯的各种方法

2010-08-18 22:00 295 查看
方法一:WM_COPYDATA
HWND hReceiveDataWindow = FindWindow(NULL,....)
COPYDATASTRUCT data;
data.cbdata = strlen(pStr);
data.lpData = pStr;
SendMessage(hReceiveDataWindow ,WM_COPYDATA,(WPARAM)GetFocus(),(LPARAM)&data);
REF.最简单的方式
http://www.cppblog.com/TechLab/archive/2005/12/30/2272.aspx

方法二:dll共享
#pragma data_seg (".ASHARE")
int iWhatYouUseInTwo = 0;
#pragma data_seg()

方法三:映象文件
CreateFileMapping

REF.最基础,效率最高的方法
最好的参考书《Windows核心编程》第17章 内存映射文件
http://blog.codingnow.com/2005/10/interprocess_communications.html

方法四:匿名管道:CreatePipe
方法五:命名管道:createnamedpipe
REF.
http://www.pediy.com/bbshtml/bbs8/pediy8-724.htm

方法六:邮件通道
createmailslot

方法七:网络接口,socket,但要求有网卡。可以实现不同主机间的IPC

另一篇总结的比较好的文章
http://www.seeitco.com/doc/Html/Visual%20C++/205637623.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: