如何在Windows7中检查用户是否为管理员

how to check if user is admin in windows 7?

本文关键字:用户 是否 管理员 检查 Windows7      更新时间:2023-10-16

我在msdn中找到了这个链接,用来检查用户是否是管理员。当进程被提升(以管理员身份运行)时,它在一些win7机器上运行良好,但我发现一些机器(一些win2008)不工作!这是正确的做法吗??

BOOL IsUserAdmin(VOID)
{
  BOOL b;
  SID_IDENTIFIER_AUTHORITY NtAuthority = SECURITY_NT_AUTHORITY;
  PSID AdministratorsGroup; 
  b = AllocateAndInitializeSid(
    &NtAuthority,
    2,
    SECURITY_BUILTIN_DOMAIN_RID,
    DOMAIN_ALIAS_RID_ADMINS,
    0, 0, 0, 0, 0, 0,
    &AdministratorsGroup); 
  if(b) 
  {
    if (!CheckTokenMembership( NULL, AdministratorsGroup, &b)) 
    {
      b = FALSE;
    } 
  FreeSid(AdministratorsGroup); 
  }
  return(b);
}    

您可以使用IsUserAnAdmin(),它是之上调用的包装器