.net - 如何在 .NET 应用程序中为选定操作正确实现 "As Administrator"或 "Run As Administrator"?

标签 .net windows winapi permissions uac

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

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

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

enter image description here

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

  1. 应如何正确实现此类功能?
  2. 我是否需要运行外部进程来为选定的功能获取更高的权限?

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

最佳答案

您将不得不将目标操作功能考虑到一个单独的组件中,该组件将以提升的方式运行。这可以是需要提升的可执行文件或 COM 组件(可能是 .NET 组件的 COM 包装器)。详情请访问 http://msdn.microsoft.com/en-us/library/bb756990.aspx , 与 When to Add the Shield Icon to Your Application's User Interface特别中肯。

关于.net - 如何在 .NET 应用程序中为选定操作正确实现 "As Administrator"或 "Run As Administrator"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6859504/

相关文章:

.net - Mongodb .net 异步等待

c++ - 什么时候/为什么要使用 heapmin?

windows - 是否有一个 Windows 注册表 "dictionary"可以解释整个(或大部分)Windows 注册表?

c# - 为什么 Control.Invoke() 调用 PostMessage() 而不是 SendMessage()?

c++ - Win32 C++ 从元素中获取文本

多线程可以在单处理器系统上实现吗?

.net - Winforms DataGridView 水平滚动条

c# - 在C#.Net中自动调用函数

c# - 哪个更快 : Union or Concat?

java - Windows - 在Java程序中使用set和echo