Qt中启动外部程序

Qt中启动外部程序

在Qt中启动外部程序较简单,上代码:

QProcess process;
process.start("notepad.exe");

这样就启动了一个记事本程序。
这里增加点难度,只允许当前系统中运行一个记事本程序。
分两步:

  1. 判断当前是否运行记事本程序
  2. 不存在,启动记事本

看代码:

QProcess process;
process.start("tasklist");
process.waitForFinished(); //等待命令执行结束
QByteArray result = process.readAllStandardOutput();
if(-1==result.indexOf("notepad.exe"))
{
    process.startDetached("notepad.exe");
}

总结:先执行tasklist命令,获取进程列表,进而检索是否存在待启动程序的名称即可判断是否已存在。

你可能感兴趣的:(qt)