Запрашивая привилегии администратора во время выполнения

StackOverflow https://stackoverflow.com/questions/3405319

  •  25-09-2019
  •  | 
  •  

Вопрос

Как мне запросить привилегии администратора во время выполнения, чтобы пользователь дал приглашение, чтобы позволить или запретить его?

Это было полезно?

Решение

Эта информация написана в манифесте файла EXE. Вы должны использовать requestedExecutionLevel поле (но не уверена в этом - попробуйте настроить его highestAvailable и посмотреть, делает ли это то, что вам нужно). См. Например, здесь для получения дополнительной информации (несколько старая статья, но все еще действует): http://blogs.msdn.com/b/cjacks/Archive/2006/09/08/exploring-manifests-part--default-mancepaces-and-waq-manifests-in-windows-vista.aspx.

Есть инструменты в Visual Studio, что позволяет вам встроить собственные проявления или даже просто редактировать его. Также есть инструмент, написанный в Perl ( http://metacpan.org/pod/win32::exe::manifest. ).

Редактировать: См. Эта статья для получения дополнительной информации: http://www.codeProject.com/articles/66259/Requesting-admin-apploval-at-application-start.aspx.

Другие советы

Если вы хотите, чтобы он в ответ на кнопку (например, вроде «показать процессы для всех пользователей» в Task Manager), вы должны передать свое приложение, используя следующий метод

ShellExecute(0,L"runas",exepath,0,0,SW_SHOWNORMAL);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top