如何在.NET应用程序中为选定的操作正确实现"以管理员身份"或"以管理员身份运行"?

Lad*_*nka 7 .net windows permissions winapi uac

我正在寻找正确的方法来允许提升所选操作的权限.

许多产品提供类似的东西.

例如,如果您打开UAC并且在浏览受限文件夹时使用Total Commander(以基本权限运行),您将获得:

在此输入图像描述

如果您推送,As Administrator您将获得常见的用户访问控制对话框,询问您是否要授予进程所需的权限.在.NET应用程序中是否有类似的可能性(即使支持Win32)?

  1. 应该如何正确实现这样的功能?
  2. 我是否需要运行外部进程才能获得针对所选功能的提升权限?

我不是在寻找需要以管理员身份运行主进程的解决方案.

Nic*_*oiu 3

您必须将目标操作功能纳入将提升运行的单独组件中。它可以是需要提升的可执行文件,也可以是 COM 组件(可能是 .NET 组件的 COM 包装器)。详细信息请访问http://msdn.microsoft.com/en-us/library/bb756990.aspx,其中何时将盾牌图标添加到应用程序的用户界面尤其相关。