Запрос привилегий администратора во время выполнения - PullRequest
4 голосов
/ 04 августа 2010

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

Ответы [ 2 ]

1 голос
/ 25 августа 2010

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

ShellExecute(0,L"runas",exepath,0,0,SW_SHOWNORMAL);
0 голосов
/ 04 августа 2010

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

В Visual Studio есть инструменты, которые позволяют встраивать собственный манифест или даже просто редактировать его. Также есть инструмент, написанный на Perl (http://metacpan.org/pod/Win32::Exe::Manifest).

РЕДАКТИРОВАТЬ: см. Эту статью для получения дополнительной информации: http://www.codeproject.com/Articles/66259/Requesting-Admin-Approval-at-Application-Start.aspx

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