使用QProcess启动流程

kay*_*cee 5 qt qprocess

我正在尝试使用QProcess以下方式启动Microsoft Word :

QString program = "WINWORD.EXE";
process->start(program);
Run Code Online (Sandbox Code Playgroud)

但没有任何反应. winword.exe在路径上(所以当我输入winword.exe字时会打开).这是正确的方法吗?

mos*_*osg 12

可能是下面的代码将帮助您:

QProcess *process = new QProcess(this);
QString program = "explorer.exe";
QString folder = "C:\\";
process->start(program, QStringList() << folder);
Run Code Online (Sandbox Code Playgroud)

我认为你正在尝试执行不包含在全局$ PATH windows变量中的程序,这就是winword.exe不执行的原因.

您还可能需要定义程序的绝对路径,例如:

QString wordPath = "C:\\Program Files\\Microsoft Office\\Office12\\WINWORD.EXE"
process->start(wordPath, QStringList() << "");
Run Code Online (Sandbox Code Playgroud)


小智 5

对我来说,我需要添加"characteres:

m_process->start("\"C:\\Program Files (x86)\\Notepad++\\notepad++.exe\"");
Run Code Online (Sandbox Code Playgroud)