Profi_GMan
@Profi_GMan

Как запустить команду из system32 в обход uac?

Доброго времени суток!
Такая проблема: uac запрещает чтение и запись в папке system32 и из неё нельзя запускать команды(это моё предположение)
Приложение моё запускается от имени администратора. Мне нужно запускать bcdedit и получать его вывод и возвращаемое значение.
Пробовал через QProcess::start(), QProcess::startDetached и system(). Также пытался запустить батник, который запускал bcdedit. Ещё пытался указать полный путь до файла и в клвычках, и без. Но ничто из этого не заработало. Примечательно то, что с помощью того же QProcess::start я запускал mountvol и всё работало.
Как это исправить?
Огромное спасибо!
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
  • IGHOR
    @IGHOR
    правильный ответ
    А тут что после неудачного запуска? QProcess::errorString()
    Попробуйте задать полный путь к ехе файлу, или добавить папку где ехе файл в переменную PATH из environment в объекте QProcess.
    Если запускаете из 32 битной программы 64 битную системную программу, то следует использовать функцию WinAPI Wow64EnableWow64FsRedirection для включения и выключения принудительных редиректов путей.
    Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы