Как реализовать пользовательский интерфейс привилегий UAC? - PullRequest
4 голосов
/ 31 марта 2012

При удалении файла в проводнике Windows (Windows 7), если для удаления файла требуются права администратора, отображается следующее диалоговое окно:

enter image description here

Есть ли способ добиться такого эффекта в моем приложении?

В настоящее время я запускаю процесс «как администратор» для выполнения такого же действия (замена файла вместо его удаления), поэтому пользователю отображается общий диалог UAC с вопросом:

«Вы хотите разрешить следующей программе вносить изменения в этот компьютер?»

Возможен ли вид полезного пользовательского интерфейса, отображаемого Explorer (в отличие от общего диалога UAC) в стороннем приложении?

Полагаю, нет, поскольку это позволило бы третьим сторонам незаметно поднять привилегии.

Ответы [ 2 ]

4 голосов
/ 31 марта 2012

Используйте Button_SetElevationRequiredState, чтобы добавить щит к кнопке.Когда пользователь нажимает кнопку, используйте для обозначения вспомогательного объекта обозначение возвышения COM .

2 голосов
/ 31 марта 2012

По умолчанию в Windows 7 большинство системных компонентов не отображают диалоговое окно UAC.

Если вы измените настройку на постоянную подсказку, вы увидите, что нажатие кнопки «Продолжить» в диалоговом окне проводника создаст нормальное состояние.Подсказка UAC.

В качестве несистемного двоичного кода ваш код всегда будет выдавать подсказки, за исключением самых мягких настроек UAC (никогда не запрашивать.)

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