zoukankan      html  css  js  c++  java
  • Qt判断和打开进程(windows端),运行,检测,中止

    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

  • 相关阅读:
    asp.net前台绑定数据和后台绑定数据什么区别
    一个页面多个input 按钮 如何回车控制
    (转)Asp.net中Application Session Cookie ViewState Cache Hidden 区别
    url传值IE6浏览器传值后台读取为乱码
    checkbox实现单选多选
    webconfig和appconfig中出现特殊字符如何处理
    WINCE上遇到空间不足问题
    MessageBox知多少

    for循环之删除注意细节
  • 原文地址:https://www.cnblogs.com/findumars/p/4924725.html
Copyright © 2011-2022 走看看