Если просто запустить программу под W7, то она выполняется под админом, но с ограничениями. Чтобы получить полноценного админа — контекстное меню — "запустить от имени администратора". Как проверить — запущенна ли программа под полноценным админом или под ограниченным?
Здравствуйте, Аноним, Вы писали:
А>Если просто запустить программу под W7, то она выполняется под админом, но с ограничениями. Чтобы получить полноценного админа — контекстное меню — "запустить от имени администратора". Как проверить — запущенна ли программа под полноценным админом или под ограниченным?
BOOL IsAdmin()
{
SID_IDENTIFIER_AUTHORITY auth = SECURITY_NT_AUTHORITY;
PSID pSid;
BOOL fResult;
if (AllocateAndInitializeSid(&auth, 2, SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0, &pSid))
{
if (!CheckTokenMembership(NULL, pSid, &fResult))
fResult = -1;
FreeSid(pSid);
return fResult;
}else
return -1;
}