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

时间:2011-07-28 13:11:44

标签: .net windows winapi permissions uac

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

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

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

enter image description here

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

  1. 如何正确实施此类功能?
  2. 我是否需要运行外部进程才能获得所选功能的提升权限?
  3. 我不是在寻找能够以管理员身份运行主流程的解决方案。

1 个答案:

答案 0 :(得分:4)

您将不得不将目标操作功能分解为一个将被提升的单独组件。这可以是需要提升的可执行文件,也可以是COM组件(可能是.NET组件的COM包装器)。详细信息位于http://msdn.microsoft.com/en-us/library/bb756990.aspxWhen to Add the Shield Icon to Your Application's User Interface特别相关。