2008-09-18 5 views
6

Я разрабатываю приложение, использующее vb.net. Для выполнения некоторых задач приложение нуждается в привилегиях администратора на машине. Как запрашивать привилегии во время выполнения программы?Как программа запрашивает права администратора?

Каков общий метод переключения учетных записей пользователей для выполнения приложения? Другими словами, есть ли способ запуска приложения под произвольной учетной записью пользователя?

ответ

4

Вы можете редактировать UAC Настройки (в VB 2008), который находится в настройках проекта. Посмотрите на строку, которая говорит

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

Изменить уровень = "asInvoker" в

  1. level="asInvoker" (тот же маркер доступа в качестве родительского процесса)
  2. level="requireAdministrator (требуют полного администратора)
  3. level="highestAvailable" (высшие привилегии, доступные текущему пользователю)
3

В Интернете есть несколько статей о разработке повышенных процессов в Vista, но в основном запросы на возвышение включают в себя сборку сборников .NET и исполняемых файлов WIN32 с статусом высоты в файле манифеста приложения (могут быть встроены или бок о бок).

Существует отличный блог о вашем вопросе, который содержит код вам, вероятно, потребуется:

.NET Wrapper for COM Elevation

+0

Похож ссылкой в ​​блоге поста является сломана! – 2017-05-09 05:56:20

3

Я этого еще не сделали, но я полагаю, вы идете (в VS 2008) проекта Настройки -> Приложение и нажмите кнопку «Показать параметры UAC». Это откроет файл app.manifest. В теге есть тег, который, я думаю, содержит варианты, которые вы ищете. Шахта имеет некоторые варианты закомментированные, которые должны получить вы начали:

0

В VS 2015: Перейти к: Project -> (название проекта) Свойства ... -> приложения -> View Settings для Windows и найти в app.manifest (строка 19): И изменить asInvoker к:

  1. «asInvoker» (тот же маркер доступа в качестве родительского процесса)
  2. «requireAdministrator (требуют полного администратора)
  3. „highestAvailable“(высоких привилегий, доступных для текущего пользователя)