Detect if program is running with full administrator rights

前端 未结 2 616
感动是毒
感动是毒 2020-11-27 07:04

I need to determine if my program is running with full administrator rights. By that I mean if uac is turned on (for win vista/7) that I need to determine if the program act

2条回答
  •  一向
    一向 (楼主)
    2020-11-27 07:43

    • Win9x: Everyone is "admin"
    • NT4: OpenThreadToken/OpenProcessToken + GetTokenInformation(...,TokenGroups,...) on DOMAIN_ALIAS_RID_ADMINS SID in a loop
    • 2000+: OpenThreadToken/OpenProcessToken + CheckTokenMembership on DOMAIN_ALIAS_RID_ADMINS SID

    Other alternatives are: IsUserAnAdmin or AccessCheck

    Checking the TOKEN_ELEVATION* stuff in the token is not required for testing the current process but it is useful if you need to find out if the user could elevate because they have a split token etc.

提交回复
热议问题