windows端的Qt程序往往需要打开外部程序(如:prog.exe),并且需要确定这个外部程序是唯一打开的。

1、判断系统中是否存在prog.exe

void judge()

{

QProcess tasklist;

tasklist.execute("tasklist", QStringList()<<"-fi"<<"imagename eq prog.exe");

}

2、终止系统中的prog.exe进程

void kill()

{

QProcess taskkill;

taskkill.execute("taskkill", QStringList()<<"-im"<<"prog.exe"<<"-f");

}

3、打开外部程序prog.exe

void open()

{

QProcess newProg;

newProg.start("prog.exe", QStringList()<<"command");

}

番外1:

QProcess::execute():          ---- 以阻塞方式打开外部程序,只有当外部程序执行完后才继续往后执行现程序。其中,外部程序的标准输出、标准错误都是重定向到现程序的标准输出和标准错误。

QProcess::start():               ---- 以子进程的方式打开外部程序,外部进程和现进程执行互不干扰,但外部进程的父进程是现进程。

QProcess::startDetached():---- 以分离方式打开外部程序,外部进程和现进程执行互不干扰,外部进程的父进程是系统的init进程。

番外2:

1.  tasklist -fi "imagename eq prog.exe"    -- 显示进程名为prog.exe的进程信息

2.  tasklist -fi "imagename ne prog.exe"    -- 显示进程名不为prog.exe的进程信息

3.  tasklist -fi "pid eq 1111"                        -- 显示进程号为1111的进程信息

4.  taskkill -f -pid 1111                               -- 强制终止进程号为1111的进程

5.  taskkill -f -im prog.exe                          -- 强制终止所有进程名为prog.exe的进程树

6.  taskkill -f -fi "imagename eq prog.exe" -- 强制终止所有进程名为prog.exe的进程树

http://blog.csdn.net/zuijinhaoma8/article/details/42061243

Qt判断和打开进程(windows端),运行,检测,中止的更多相关文章

  1. windows端运行.sh脚本

    在复现lightheadrcnn时,碰到这么一句    bash make.sh 下载cygwin安装 在cygwin安装过程中,在选择安装包的时候找到Devel 再在Devel里面找到make,勾选 ...

  2. 无法在web服务器上启动调试。打开的URL的IIS辅助进程当前没有运行。

    调试时弹出:无法在web服务器上启动调试.打开的URL的IIS辅助进程当前没有运行.

  3. Windows进程单实例运行

    场景         Windows进程单实例运行,如果有进程没有退出,继续等待,直到进程完全退出,才会进入下一个实例 HANDLE pHandle = NULL; do  {  pHandle = ...

  4. js判断页面在pc端打开还是移动端打开

    js判断页面在pc端打开还是移动端打开,分别跳转不同的index.html window.addEventListener('load', function() { // true为手机,false为 ...

  5. innosetup 安装前、卸载前判断是否有进程正在运行<转>

    [Code] //安装前判断是否有进程正在运行,istask.dll文件与打包的exe文件一起 function RunTask(FileName: string; bFullpath: Boolea ...

  6. linux shell编程,先等10秒再判断是否有进程存在,存在就再等10秒再杀了进程才运行

    linux shell编程,先等10秒再判断是否有进程存在,存在就再等10秒再杀了进程才运行 crontab每分钟执行一次,但5秒以上才有更新数据,有时候一分钟可能跑不完上一个进程,需要先等10秒再判 ...

  7. Windows 开始 运行中所打开的默认程序以及优先级

    Windows 开始 运行中所打开的默认程序以及优先级 Default app/softwares and priority for Windows/start/run 商务合作,科技咨询,版权转让: ...

  8. 〖Windows〗Linux的Qt程序源码转换至Windows平台运行,编码的解决

    在中国大陆,Windows默认的编码是gb2312,而Linux是UTF8: 多数情况下,把Linux上的程序转换至Windows上运行需要进行编码转换才能正常显示: 而其实大可以不必的,同样,文件使 ...

  9. Windows下运行Hadoop

    Windows下运行Hadoop,通常有两种方式:一种是用VM方式安装一个Linux操作系统,这样基本可以实现全Linux环境的Hadoop运行:另一种是通过Cygwin模拟Linux环境.后者的好处 ...

随机推荐

  1. 绝美Sysinternals

    啥也不说了,自己看吧: https://technet.microsoft.com/en-us/sysinternals/bb545046 新地址: https://technet.microsoft ...

  2. 使用QtScript库解析Json数组例子

    本文转载自:http://blog.sina.com.cn/s/blog_671732440100uwxh.html 使用qtscipt库解析json数组首先在工程文件中加 QT        += ...

  3. 转:Android 测试 Appium、Robotium、monkey等框架或者工具对比

    原文地址:http://demo.netfoucs.com/u012565107/article/details/36419297# 1. Appium测试 (功能测试,用户接受度测试,黑盒测试) - ...

  4. linux 版本家族

    1. 简单的说,在桌面系统上,可分为Debian和RedHat两大分支,然后Debian这一分支到现在比较火的是Ubuntu, RedHat比较火的是Fedora.贴一下它们的版本历史:  fedor ...

  5. eclipse指定启动时的jdk(xjl456852原创)

    在eclipse安装目录中找到eclipse.ini 在第一行配置(即可启动按指定版本的jdk启动eclipse): -vm D:\soft\Java\jre8\bin\server\jvm.dll ...

  6. 【剑指offer】二叉树深度

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/27249675 题目描写叙述: 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点 ...

  7. JMeter分布式性能测试

    利用JMeter进行负载测试的时候,使用单台机器模拟测试超过1000个行程的并发就有些力不从心,在执行的过程中,JMeter自身会自动关闭,要解决这个问题,可以使用分布式测试,运行多台机器运行所谓的  ...

  8. Window7下vagrant的部署

    1. 下载并安装VirtualBox     下载地址:https://www.virtualbox.org/wiki/Downloads,下载最新的安装包,接下来的安装步骤就是下一步下一步了,你懂的 ...

  9. laravel3中文文档是迈入laravel4的捷径

    http://v3.golaravel.com/docs/ 目录 Laravel概览 更新日志 安装与设置 系统需求 安装 服务器设置 基本设置 环境 友好的链接(URL) 路由 基础 通配符(Wil ...

  10. c/c++ 复习基础要点01-const指针、指针函数 函数指针、new/delete与malloc/free区别与联系

    1.      引用本身是有指针实现的:引用为只读指针 例子: int d=123; int& e=d;    //引用 int * const e=d; //只读指针,e指向d,不可修改e指 ...