首页
社区
课程
招聘
有没有什么准确的方法判断用户电脑当前是否开启了UAC
发表于: 2017-3-24 13:14 5347

有没有什么准确的方法判断用户电脑当前是否开启了UAC

2017-3-24 13:14
5347
网上的大部分方法都是依据注册表
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]

"EnableLUA"=dword:0

实际上这个完全不准确,我电脑上目前ConsentPromptBehaviorAdmin,EnableLUA,PromptOnSecureDesktop三项全部都是0,也不是我手动修改的,运行程序的时候依然会弹出UAC窗口,请问大家有啥准确的方法吗?



[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 407
活跃值: (1816)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
有个API叫 IsUserAnAdmin
2017-3-25 00:45
0
雪    币: 26
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个

上传的附件:
2017-4-22 23:01
0
雪    币: 27
活跃值: (127)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4

上面这些都没用。第一个是检测账户是否管理员,第二个是检查 token 的。第一个:账户为管理员,可以选择开启或者关闭 UAC。第二个:当前账户是管理员且开启 UAC 时,此值是获取调用程序自身是否以管理员权限启动。如果程序以限制权限执行,得到 TokenElevationTypeLimited。如果程序以管理员权限执行,得到 TokenElevationTypeFull。注意:不是检查当前用户是否开启 UAC,而是检查指定 token 的执行权限。

最后于 2021-7-29 18:51 被Xenophon编辑 ,原因:
2021-7-29 18:48
0
游客
登录 | 注册 方可回帖
返回
//