QT编程,怎样知道一个外部程序是否在运行, 并且怎样停止他, 注意事先我并不知这个程序有没有运行

liumy2013 2013-06-24 08:30:05
用QT编程,怎样知道一个外部程序是否在运行, 并且怎样停止他, 注意事先我并不知这个程序有没有运行
...全文
813 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangxkww 2013-06-25
  • 打赏
  • 举报
回复
这里还是使用条件编译,分别实现各个平台的方法... Qt貌似没有现成的东西用
suros 2013-06-25
  • 打赏
  • 举报
回复
Qt库似乎没有完整的跨平台解决方案,你可能需要自己分平台判断。 windows可以使用上述提到的方法使用openprocess获取相关信息。终止很简单: ShellExecute(0, "open","TASKKILL",(processname,NULL, SW_HIDE); 其他平台需要想办法找到进程的pid(例如调用系统的ps命令进行过滤查找), linux打开/proc/pid/cmdline查看进程状态。 sun系统打开/proc/pid/psinfo查看进程状态。
luoning1217 2013-06-25
  • 打赏
  • 举报
回复
引用 7 楼 lmyluk 的回复:
[quote=引用 3 楼 cai6811376 的回复:] windows平台 http://blog.chinaunix.net/uid-13830775-id-215871.html
还有,对这篇文章还有点疑问:如果外部程序已经运行了, 为什么还要打开特定PID进程?不是重复打开了吗?还有, 我想终止外部程序运行,应该用什么函数?求指教啊!![/quote] 这里openprocess不是打开一个新的进程,而是进入到进程中去取得一些信息用于比对
liumy2013 2013-06-24
  • 打赏
  • 举报
回复
引用 3 楼 cai6811376 的回复:
windows平台 http://blog.chinaunix.net/uid-13830775-id-215871.html
还有,对这篇文章还有点疑问:如果外部程序已经运行了, 为什么还要打开特定PID进程?不是重复打开了吗?还有, 我想终止外部程序运行,应该用什么函数?求指教啊!!
liumy2013 2013-06-24
  • 打赏
  • 举报
回复
引用 3 楼 cai6811376 的回复:
windows平台 http://blog.chinaunix.net/uid-13830775-id-215871.html
你的这篇文件的确很好, 但是我是想用QT库能不能实现此功能呢? 程序有可能跨平台运行.
青松2 2013-06-24
  • 打赏
  • 举报
回复
直接使用FindWindow
寒山-居士 2013-06-24
  • 打赏
  • 举报
回复
引用 3 楼 cai6811376 的回复:
windows平台 http://blog.chinaunix.net/uid-13830775-id-215871.html
知道该外部程序的名称就好办,windows下面是有这样的api可以kill之,楼上给的那篇文章很有指导意义
xcyl 2013-06-24
  • 打赏
  • 举报
回复
windows平台 http://blog.chinaunix.net/uid-13830775-id-215871.html
liumy2013 2013-06-24
  • 打赏
  • 举报
回复
引用 1 楼 yanbin_1985525 的回复:
这个外部程序是Qt程序调起来的吗?
当然不是啦, 否则我也不会这么纠结了. 关键是我要尝试编程停止这个外部程序.感觉没思路啊.
醉过方知酒烈 2013-06-24
  • 打赏
  • 举报
回复
这个外部程序是Qt程序调起来的吗?

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧