zoukankan      html  css  js  c++  java
  • Qt QProcess启动和关闭外部程序

        //适用于关闭后台进程的方法
    QString c = "taskkill /im notepad.exe /f"; int pInt = QProcess::execute(c); //关闭后台notepad.exe进程,阻塞式运行,一直占用cpu,成功返回0,失败返回1 qDebug()<<"pInt:"<<pInt;

    一、启动外部程序的两种方式:
    (1)一体式:void QProcess::start(const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite)
            外部程序启动后。将随主程序的退出而退出。
    (2)分离式:void QProcess::startDetached(const QString & program, const QStringList & arguments, const QString & workingDirectory = QString(), qint64 * pid = 0)
            外部程序启动后,当主程序退出时并不退出。而是继续执行。

    //1-不带空格。能够启动
    process->start("F:/AppInst/115/115com/115com.exe");
    //2-带空格,无法启动
    process->start("C:/Program Files/HaoZip/HaoZip.exe");
    //3-带空格,使用带參模式。能够启动
    process->start("C:/Program Files/HaoZip/HaoZip.exe", QStringList("C:/Program Files/HaoZip/HaoZip.exe"));

    Qt 执行cmd命令

    QProcess p(0);
    p.start("cmd", QStringList()<<"/c"<<"ping www.baidu.com");
    p.waitForStarted();
    p.waitForFinished();
    QString strTemp=QString::fromLocal8Bit(p.readAllStandardOutput());
    
    QMessageBox testMassage;
    testMassage.setText(strTemp);
    testMassage.exec();

  • 相关阅读:
    JavaScript过滤除连续的数字
    Intellij IDEA 配置Subversion插件
    匹配优先存在的问题,以及解决办法
    回溯
    Linux 启动流程
    tasklist、taskkill、taskmgr
    Mysql分区表
    Linux ${} 变量内容的提取和替换功能等
    Linux shell 提取文件名和目录名
    Mysql计划任务
  • 原文地址:https://www.cnblogs.com/mathyk/p/10141572.html
Copyright © 2011-2022 走看看