如何实现自定义UAC权限UI?

时间:2012-03-31 15:47:22

标签: windows-7 uac

在Windows资源管理器(Windows 7)中删除文件时,如果需要管理员权限来删除文件,则会显示以下对话框:

enter image description here

有没有办法在我的应用中实现这种效果?

目前我正在启动一个“管理员”进程来执行相同类型的操作(替换文件而不是删除它),因此会向用户显示通用UAC对话框,询问:

“您是否要允许以下程序对此计算机进行更改?”

在第三方应用中,资源管理器显示的有用UI类型(与通用UAC对话框相对)是否可用?

我猜不是,因为它会让第三方以偷偷摸摸的方式提升特权。

2 个答案:

答案 0 :(得分:4)

使用Button_SetElevationRequiredState将屏蔽添加到按钮。当用户按下按钮use the COM elevation moniker以创建帮助对象时。

答案 1 :(得分:2)

Windows 7上的默认设置是大多数系统组件不显示UAC对话框。

如果您将设置更改为始终提示,您将看到在“资源管理器”对话框中单击“继续”将创建正常的UAC提示。

作为非系统二进制文件,除了最宽松的UAC设置外,您的代码总是会提示(永远不会提示。)