码迷,mamicode.com
首页 > Windows程序 > 详细

Qt判断和打开进程(windows端)

时间:2015-10-31 01:38:13      阅读:625      评论:0      收藏:0      [点我收藏+]

标签:

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端)

标签:

原文地址:http://www.cnblogs.com/findumars/p/4924725.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!