0

是否可以在执行程序的特定部分/片段时授予管理权限?
我知道我们可以使用清单文件为我们的整个应用程序提供管理员权限,但我不喜欢这样,因为假设我的 70% ~ 80% 的应用程序服务不需要管理员权限,或者我的最终用户并不喜欢每次运行应用程序时都要面对 UAC 提示。
有没有办法实现这样的目标?

4

1 回答 1

4

执行代码的权限由进程令牌控制,进程令牌是进程范围的对象。因此,如果您的进程具有提升的权限,则在该进程中执行的所有代码都具有提升的权限。

结论是,为了让您的应用程序的不同部分拥有不同的权限,您需要拥有多个进程。

应用程序执行此操作是非常常见和标准的。应用程序可以从单独的权限开始。当用户希望执行需要提升权限的操作时,程序会调用单独的可执行文件来执行该任务。这对用户来说确实更好,因为他们只需要面对 UAC 对话框来执行实际需要提升的操作。

于 2013-04-20T13:42:46.123 回答