c# – 当没有UAC弹出窗口时,无法检测用户是否使用提升的权限运行
发布时间:2020-12-15 04:24:43 所属栏目:百科 来源:网络整理
导读:我正在开发一个C#应用程序,需要检测用户是否以提升的管理员身份运行.我试过史蒂文提出的 solution. 我在5台机器上检查了解决方案,它在4台机器上工作正常. 即使我将用户帐户控制设置为始终通知我,也有一台机器永远不会显示UAC通知消息. 检查该计算机上的代码
我正在开发一个C#应用程序,需要检测用户是否以提升的管理员身份运行.我试过史蒂文提出的
solution.
我在5台机器上检查了解决方案,它在4台机器上工作正常. 即使我将用户帐户控制设置为始终通知我,也有一台机器永远不会显示UAC通知消息. 检查该计算机上的代码时,即使我选择以管理员身份运行,它也不起作用,并且方法IsProcessElevated返回false. 那台特定的机器有问题吗? 有没有办法在这种平台上确定用户是否升级? 解决方法
经过研究后,我发现从Windows 7开始,为了确定用户是否是高级管理员,您只需要检查以下内容:
WindowsIdentity identity = WindowsIdentity.GetCurrent(); WindowsPrincipal principal = new WindowsPrincipal(identity); return principal.IsInRole (WindowsBuiltInRole.Administrator); (如果此选项失败,可以使用检查令牌的其余代码) 我的应用程序仅在win7及更高版本上运行,所以这个解决方案对我来说足够好了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c# – 在WPF中播放mp3
- 正则匹配 符合以什么开头以什么结尾的
- iOStableView 自动布局常见问题之页面滑动到最底时,下面多
- iphone – 调用rootViewController在内容视图(iOS)中切换视
- ruby-on-rails-3.1 – 由于新的遗物错误,Rails服务器将无法
- c# – 如何在构造函数中设置属性值(显式接口实现)
- 使用Flash地图控件AnyMap创建Self Drilldown Maps
- iphone – 以编程方式枚举UIViewController的传出Segues
- 未找到dyld符号DictionaryGenerator(IOS Xcode6 Beta4)
- 关联、组合、聚合、依赖关系比较