我需要确定我的程序是否以完全管理员权限运行。我的意思是,如果 uac 已打开(对于 win vista/7),我需要确定程序是否实际上具有管理员权限(例如用户是否右键单击并选择“以管理员身份运行”)并且不受 uac 限制。我如何在 C++ 中做到这一点?
- Win9x:每个人都是“管理员”
- NT4: 循环中 DOMAIN_ALIAS_RID_ADMINS SID 上的 OpenThreadToken/OpenProcessToken + GetTokenInformation(...,TokenGroups,...)
- 2000+:OpenThreadToken/OpenProcessToken +CheckToken会员资格在 DOMAIN_ALIAS_RID_ADMINS SID 上
其他替代方案是:是用户还是管理员 or 访问检查
测试当前进程不需要检查令牌中的 TOKEN_ELEVATION* 内容,但如果您需要查明用户是否可以提升权限,因为他们有拆分令牌等,那么检查令牌中的 TOKEN_ELEVATION* 内容非常有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)