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

我正在寻找正确的方法来提升选定操作的权限

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

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

在这里输入图像说明

如果按“以As Administrator身份”,则会出现常见的“用户访问控制”对话框,询问您是否要授予进程所需的权限。 在.NET应用程序中是否有类似的可能(即使支持Win32)?

  1. 应该如何正确实现这样的function?
  2. 我是否需要运行外部进程才能获得提升的特权才能selectfunction?

我不在寻找解决scheme,这将需要以pipe理员身份运行主stream程。

您将不得不将目标操作功能分解为一个单独的组件,该组件将运行提升。 这可以是需要提升的可执行文件,也可以是COM组件(可能是.NET组件的COM包装器)。 有关详细信息,请访问http://msdn.microsoft.com/en-us/library/bb756990.aspx , 何时向您的应用程序的用户界面添加盾牌图标是特别相关的。