【发布时间】:2014-05-13 19:25:25
【问题描述】:
我正在尝试用另一个程序运行一个程序。为此,我使用了一个 QProcess 类。
程序必须以管理员权限运行。为了保持简单的步骤调试并在这里举个例子,我以管理员权限启动了 qt creator。
现在是有趣的部分。
以下代码运行计算器。
QProcess * p = new QProcess();
p->start("C:\\Windows\\System32\\calc.exe");
p->waitForStarted();
delete p;
此代码有效。 现在是另一个示例,它已经运行了服务窗口窗口。
QProcess * p = new QProcess();
p->start("C:\\Windows\\System32\\services.msc");
p->waitForStarted();
delete p;
此代码不运行程序 services.msc。文件存在并且从命令行运行没有任何问题。
为什么一个有效而另一个无效?如何解决?
Windows 7 x86。
【问题讨论】:
-
这是个好问题 :)
-
当您尝试“运行”.JPG 文件之类的文件时会发生什么?它应该在图像查看器中打开,但我认为使用 Qt 可能不会。相反,请尝试运行
mmc.exe,将 .MSC 文件作为参数传递。