我在msdn中找到了这个link来检查用户是否是管理员。当进程升级时(以管理员身份运行),它在某些win7机器上正常工作但我找到了一些机器(有些赢得2008年),它无法工作! 这是正确的方法吗?
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);
}
答案 0 :(得分:2)
您可以使用IsUserAnAdmin()
作为上述调用的包装器