在Win32下提供的进程间通信方式有以下几种:
- 剪贴板Clipboard:在16位时代常使用的方式,CWnd类中提供了支持。
- COM/DCOM:通过COM系统的代理存根方式进行进程间数据交换,但只能够表现在对接口函数的调用时传送数据,通过DCOM可以在不同主机间传送数据。
- Dynamic Data Exchange (DDE):在16位时代常使用的方式。
- File Mapping:文件映射,在32位系统中提供的新方法,可用来共享内存。
- Mailslots:邮件槽,在32位系统中提供的新方法,可在不同主机间交换数据,分为服务器方和客户方,双方可以通过其进行数据交换,在Win9X下只支持邮件槽客户。
- Pipes:管道,分为无名管道:在父子进程间交换数据;有名管道:可在不同主机间交换数据,分为服务器方和客户方,在Win9X下只支持有名管道客户。
- RPC:远程过程调用,很少使用,原因有两个:复杂而且与UNIX系统的RCP并不完全兼容。但COM/DCOM的调用是建立在RPC的基础上的。
- Windows Sockets:网络套接口,可在不同主机间交换数据,分为服务器方和客户方。
- WM_COPYDATA:通过发送WM_COPYDATA消息并将数据放在参数中来传递数据给其他进程。
|