• 4149阅读
  • 6回复

这个需要用进程间通讯吗? [复制链接]

上一主题 下一主题
离线iiiyyyhhhsss
 

只看楼主 倒序阅读 楼主  发表于: 2009-08-30
是这样的,我的界面程序用QProcess打开了外部进程,我看过这个进程的代码,知道这个进程里的各个变量,有没有办法把我需要的关键变量,提取到我的界面显示呢?
离线dbzhang800

只看该作者 1楼 发表于: 2009-08-30
你的两个进程之间要要交换数据,显然是进程间通讯。

你看过这个进程的代码,知道线程中的变量,这什么用都没有。如果进程是你写的,你倒是可以考虑改写成线程。这样就没有进程间通讯,变为线程间通讯了
离线iiiyyyhhhsss

只看该作者 2楼 发表于: 2009-08-30
不过那个进程很复杂的,应该不能把它编写为线程。。。不过我可以修改那个进程

可不可以在那个进程里增加一些接口,用于与我的界面程序通讯呢?

如果可以,应该如何修改那个进程?
离线dbzhang800

只看该作者 3楼 发表于: 2009-08-30
(QProcess 也算是简单的进程通讯的一种吧)
其他的你自己看manual中的 Inter-Process Communication in Qt

不过既然是通讯,肯定不是单方面的,一般来说两个接口都要改
离线iiiyyyhhhsss

只看该作者 4楼 发表于: 2009-08-30
好的
离线hxcan

只看该作者 5楼 发表于: 2009-09-01
可以参考一下调试器的方法啊,如果研究成功了欢迎帖出来!
本座已达到法定娶亲年龄,欲购从速,价格面谈。
杀人容易爱人难。
作为一个太极美术工程师,我深刻地感受到:世风日下、人心不古。
http://StupidBeauty.com/Blog
离线hiti_tony
只看该作者 6楼 发表于: 2009-09-01
如果这些关键变量只是提取一次,就直接A进程写进一个文件去,然后B进程读取好了,简单些;
如果是适时提取,可以考虑下用进程间管道通信,B进程里建一个管道文件,然后开个线程循环监听,有内容就取过来,在A进程里有需要的时候往里面写就可以了。至于管道怎么使用你可以在网上搜索,很多的。我以前写过,还很好用。
快速回复
限100 字节
 
上一个 下一个