从qt运行pnputil(或其他内置窗口),作为管理员

时间:2014-07-17 22:32:21

标签: c++ windows qt built-in qprocess

如何在Qt C ++应用程序中运行pnputil?以下操作失败,lstderr显示" pnputil未被识别为内部或外部命令。"大概是因为pnputil是一个内置的(替换非内置的确有效)。 QProcess类引用说" cmd / c"格式是一种可能的解决方案"对于Windows内置,但不适合我。

QProcess process;
process.start("cmd /c \"pnputil -e\"" );

if (!process.waitForStarted())
    return false;

if (!process.waitForFinished())
    return false;

QByteArray lstderr = process.readAllStandardError();
QByteArray lstdout = process.readAllStandardOutput();

1 个答案:

答案 0 :(得分:0)

您的进程可能使用错误的PATH来查找可执行文件。尝试通过完整路径调用PnPUtil:

%WINDIR%\System32\PnPUtil.exe

你可以用来住在Qt Land:

qgetenv("WINDIR");

如果您的应用程序只是Windows,并且您不介意使用本机调用:

GetWindowsDirectory();