Страницы

Поиск по вопросам

воскресенье, 29 марта 2020 г.

Права администратора в Qt

#cpp #qt #root


Есть приложение на Qt, и обычно располагается в Program Files. В некоторых случаях,
когда запускается программа, она запрашивает/не запрашивает права администратора. 
Что нужно дописать, чтобы запускался всегда с правами админа.
    


Ответы

Ответ 1



Чтобы программа запрашивала права администратора в Windows, нужно внедрить в неё файл манифеста. Файл внедряется в готовый исполняемый файл программой mt. Обычно она устанавливается вместе с Visual Studio. Если вы не используете Visual Studio, то вам придётся установить эту программу отдельно, читайте соответствующую документацию. Файл манифеста может выглядеть следующим образом: Description of application Сохраните этот файл под именем manifest.xml рядом с вашим исполняемым файлом. После этого запустите в командной строке: mt -manifest manifest.xml -outputresource:your_program.exe Чтобы манифест автоматически внедрялся в файл при сборке проекта в Qt Creator, нужно добавить в pro-файл сценарий пост-линковки: win32 { QMAKE_POST_LINK += mt -manifest $$PWD/manifest.xml -outputresource:$$OUT_PWD/$$TARGET".exe" $$escape_expand(\n\t) }

Комментариев нет:

Отправить комментарий