打开第二个表单时是否可以要求管理员权限
本文关键字:管理员 权限 是否 第二个 表单 | 更新日期: 2023-09-27 18:25:16
我知道您可以创建一个清单文件来指定整个应用程序的访问级别管理员。但是,是否可以只要求特定的形式?
高程是流程的一个属性。您的所有表单都在同一过程中执行。问如何用不同的权限在同一流程中执行不同的表单是没有意义的。这毫无意义。
因此,如果您需要部分应用程序在没有提升的情况下运行,而部分应用程序则需要提升运行,那么您需要两个进程。别无选择。
不过,实现这一点的干净方法是安排应用程序的提升部分通过进程外的COM服务器可用。这样,您就可以使用COM提升Moniker来提升应用程序的这一部分。
此代码允许您测试用户是否为管理员。当您创建要限制的窗体窗口时,您需要调用此代码。
不确定是否存在类似的东西。我已经通过重新启动应用程序手动完成了类似的操作。
在没有管理员访问权限的情况下启动应用程序。当用户做一些需要管理员访问的事情时,看看应用程序是否以管理员身份运行(不会像我们正常启动的那样)?如果没有,请保存程序状态,并使用verb="runas"和指示要执行的操作的命令行重新启动应用程序。
当应用程序重新启动时,假设用户已通过UAC提供管理员访问权限。处理命令行,恢复保存的程序状态,并将用户导航到他离开的地方。
看看这个示例UAC自升
此示例演示了如何检查当前流程的权限级别,以及如何通过使用同意UI进行明确同意来自提升流程。