Как запустить pnputil из приложения Qt C ++? Следующая ошибка завершается с 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();
Ваш процесс, вероятно, имеет неправильный путь для поиска исполняемых файлов. Попробуйте вызвать PnPUtil с полным PATH:
%WINDIR%\System32\PnPUtil.exe
Вы можете использовать для пребывания в Qt Land:
qgetenv("WINDIR");
Если ваше приложение будет только для Windows, и вы не против использовать нативные вызовы:
GetWindowsDirectory();