gpt4 book ai didi

c# - 当没有 UAC 弹出窗口时,无法检测用户是否以提升的权限运行

转载 作者:太空狗 更新时间:2023-10-29 21:13:42 27 4
gpt4 key购买 nike

我正在开发一个 C# 应用程序,它需要检测用户是否以提升的管理员身份运行。我尝试了 solution史蒂文建议。

我在 5 台机器上检查了该解决方案,其中 4 台机器运行良好。

有一台机器从不显示 UAC 通知消息,即使我将用户帐户控制设置为始终通知我

检查那台机器上的代码时,即使我选择以管理员身份运行,它也不起作用,方法IsProcessElevated 返回false。

那台机器有问题吗?

在那种平台上,有没有办法确定用户是否被提升?

最佳答案

经过研究,我发现从 Windows 7 开始,为了确定用户是否是提升的管理员,您只需要检查以下内容:

WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(identity);
return principal.IsInRole (WindowsBuiltInRole.Administrator);

(如果此选项失败,可以使用检查 token 的其余代码)我在一些机器上测试了代码,它工作正常。

我的应用程序只能在 win7 及更高版本上运行,所以这个解决方案对我来说已经足够好了。

关于c# - 当没有 UAC 弹出窗口时,无法检测用户是否以提升的权限运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11955302/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com