多进程通信这个问题真是又老又没提头,可是真用起来还遇到蛮多问题的,现在说说,以免大家和我一样
方法1: 窗口消息
好处 简单
坏处 通用性不强,还必须弄个隐藏窗口什么的响应消息
用WM_COPYDATA 地球人都知道怎么用了,不行就看MSDN好了
但是他有个很大的毛病,这也是我放弃它的原因。 如果你需要和windows服务程序进行通信的话,这个办法就不好用了。
不相信可以试验下, 在windows服务下,MessageBox都弹不出来。 据说,它不是桌面程序,没有桌面?
方法2: windows socket
好处 稳定
坏处 ... 有点小题大作,而且问题也蛮多的
我放弃它的原因是,那些同步异步的细节比较烦人。比如你用异步的socket那么需要发类似sendmessage的时候就很麻烦
实际中得考虑不少冲突的问题。
方法3:文件映射
好处 无
坏处 没法说了,本来是消息的,非要做成类似查询数据库的样子,很矬!
方法4: RPC
好处: 很专业
坏处: 还是很专业
我推荐你用这个,自己看文档吧,其实也不难,呵呵
实际中,要随机应变。 方法1,2,3,4都有出场机会,看你的项目需求了