#include #include bool IsUserAdmin() { BOOL bIsAdmin = FALSE; SID_IDENTIFIER_AUTHORITY NtAuthority = SECURITY_NT_AUTHORITY; PSID AdministratorsGroup; if (AllocateAndInitializeSid(&NtAuthority, 2, SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0, &AdministratorsGroup)) { if (!CheckTokenMembership(NULL, AdministratorsGroup, &bIsAdmin)) { bIsAdmin = FALSE; } FreeSid(AdministratorsGroup); } return bIsAdmin == TRUE; } int main() { if (IsUserAdmin()) { std::cout << "Current process has administrator privileges." << std::endl; } else { std::cout << "Current process does not have administrator privileges." << std::endl; } return 0; }