Как заставить мое приложение .NET запускаться от имени администратора?

def hex2bin(s):
    hex_table = ['0000', '0001', '0010', '0011',
                 '0100', '0101', '0110', '0111',
                 '1000', '1001', '1010', '1011',
                 '1100', '1101', '1110', '1111']
    bits = ''
    for i in range(len(s)):
        bits += hex_table[int(s[i], base=16)]
    return bits
815
задан Daniel B 9 November 2017 в 04:58
поделиться

3 ответа

Вы захотите изменить манифест, который встраивается в программу. Это работает в Visual Studio 2008 и выше: Project + Добавить новый элемент, выберите «Файл манифеста приложения». Измените элемент на:

 <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

Пользователь получает приглашение UAC при запуске программы. Используйте с умом; их терпение может быстро истощиться.

1097
ответ дан 22 November 2019 в 21:11
поделиться

Вы можете встроить файл манифеста в EXE-файл, чтобы Windows (7 или выше) всегда запускала программу от имени администратора.

Более подробную информацию можно найти в Шаг 6: Создание и внедрение манифеста приложения (UAC) (MSDN).

42
ответ дан 22 November 2019 в 21:11
поделиться

Добавление элемента requestedExecutionLevel в ваш манифест - это только половина дела; Вы должны помнить, что UAC можно отключить. Если это так, вы должны выполнить проверку по старинке и вывести диалоговое окно с сообщением об ошибке, если пользователь не является администратором
(вызовите IsInRole (WindowsBuiltInRole.Administrator) в CurrentPrincipal вашего потока ).

151
ответ дан 22 November 2019 в 21:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: