запуск pnputil (или других встроенных окон) из qt от имени администратора

Как запустить 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();

0

Решение

Ваш процесс, вероятно, имеет неправильный путь для поиска исполняемых файлов. Попробуйте вызвать PnPUtil с полным PATH:

%WINDIR%\System32\PnPUtil.exe

Вы можете использовать для пребывания в Qt Land:

qgetenv("WINDIR");

Если ваше приложение будет только для Windows, и вы не против использовать нативные вызовы:

GetWindowsDirectory();
0

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector