C # Как получить права администратора ВО ВРЕМЯ ВЫПОЛНЕНИЯ

Кто-нибудь знает, как получить права администратора ВО ВРЕМЯ ВЫПОЛНЕНИЯ? Пожалуйста, не предлагайте это:

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

Надеюсь, кто-нибудь знает, как это сделать.

Я имею в виду, например, рассмотреть такую ​​ситуацию: у меня есть приложение, которое работает без прав администратора и обычно не вносит никаких изменений на вашем компьютере. Но если вы нажмете одну определенную кнопку, приложение запросит права администратора, а затем сделает то, что нужно.


person XvXLuka222    schedule 27.01.2020    source источник
comment
Что вы имеете в виду во время выполнения? Привилегии всегда будут оцениваться во время выполнения.   -  person David L    schedule 27.01.2020
comment
Здесь нет ограничений по количеству символов. Пожалуйста, произнесите слова по буквам и подробно объясните свою проблему для максимальной ясности. Посетите справочный центр и изучите Как спросить, чтобы получить больше советов о том, как сделать положительный вклад   -  person Ňɏssa Pøngjǣrdenlarp    schedule 27.01.2020
comment
@Mathews SдомаBody   -  person NotTheBatman    schedule 27.01.2020


Ответы (1)


Вы не можете изменить уровень привилегий текущего процесса. Вы МОЖЕТЕ запустить новый процесс, запросив повышенные разрешения. Process.Start() поддерживает флаг "runas".

        using (Process configTool = new Process())
        {
            configTool.StartInfo.FileName = "foo.exe"
            configTool.StartInfo.Arguments = "--bar";
            configTool.StartInfo.Verb = "runas";
            configTool.Start();
            configTool.WaitForExit();
        }

См. раздел Программное повышение привилегий процесса?

Вы можете разделить функции своего приложения на второй исполняемый файл или повторно запустить приложение с повышенными разрешениями с помощью «runas».

person bcarpenter    schedule 27.01.2020
comment
Пост, который является не чем иным, как ссылкой на какой-то другой пост, вообще не считается ответом. - person Ňɏssa Pøngjǣrdenlarp; 27.01.2020