这种方法有多稳定,以确保我的pipe理应用程序在启动时请求pipe理员权限:
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
这在Windows 7上运行良好,但我没有访问XP和Vista,所以不能告诉。
什么是一个好的阴谋库。净?
键盘挂钩改变键的行为
C#调用本地C ++的所有function:使用什么types?
如何将parameter passing给Windows服务
#if(DEBUG)在定制的基类库中不起作用
如何检测Windows 64位的cpu速度?
如何最大限度地减lessWindows内存使用量
如何扫描networking上存在的无线设备
Windows操作系统体系结构书
通过指定该清单,您告诉Windows(Vista或7),如果标准用户(管理员以及启用UAC)尝试执行此应用程序,则应显示UAC提示。 没有提升,这个应用程序将无法按预期工作。
Windows Vista和Windows 7都可以正确处理这个问题,这就是为什么设计UAC的原因。
对于Windows XP,标准用户需要使用runas手动执行您的应用程序作为管理员,而管理员用户可以直接运行它。 在Windows XP上没有UAC,它可以回溯到Windows开发人员熟悉的老行为。
要测试Windows XP,您应该使用Windows XP模式, http://www.microsoft.com/windows/virtual-pc/download.aspx
Windows XP不处理requestedPrivileges节点,并没有任何种类的UAC机制。
Windows Vista引入了UAC和设置requestedExecutionLevel的能力。
Windows XP的标准帐户是严格的,没有提升管理任务的机制来执行重新登录。
因此,处理由于缺少XP权限而导致错误的最佳做法只是显示一个有意义的错误消息。
是的,该清单可确保属于管理员组的用户在Vista上正常提升,并在接受UAC提示时提升。
它不会做的是给一个不属于那个组权限的用户。 就像它在XP中所做的一样,但也在后来的版本中。 网站管理员可能会给用户限制帐户。 没关系,他们当然不应该运行你的程序。 管理员不希望他们。 检查你是否给出了合理的诊断。 WindowsPrincipal.IsInRole(WindowsBuiltInRole.Administrator)让你检查.NET。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。