C# Как получить административные привилегии НА РАБОТЕ - PullRequest
0 голосов
/ 27 января 2020

Кто-нибудь знает, как получить права администратора В РАБОТЕ ? Пожалуйста, не предлагайте это:

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

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

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

1 Ответ

0 голосов
/ 27 января 2020

Вы не можете изменить уровень привилегий текущего запущенного процесса. Вы МОЖЕТЕ запустить новый процесс, запрашивая повышенные разрешения. 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».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...