The function checks if the program is running as administrator. As if it were run as administrator from the context menu.
1 2 3 4 5 6 |
var admin: Boolean; begin admin:= isAdmin(); if admin = True then ShowMessage('Have admin rights') else ShowMessage('No admin rights'); end; |
Options
Not
Result
True if it is running as administrator, False if not.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
function CheckTokenMembership (TokenHandle: THandle; SidToCheck: pointer; var IsMember: BOOL): BOOL; stdcall; external advapi32 Name 'CheckTokenMembership'; function isAdmin: boolean; var PSIDAdmin: PSID; bSuccess: BOOL; const SECURITY_NT_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 5)); begin Result:= false; bSuccess:= AllocateAndInitializeSid (SECURITY_NT_AUTHORITY, 2, $00000020, $00000220, 0, 0, 0, 0, 0, 0, PSIDAdmin); if bSuccess then if CheckTokenMembership (0, PSIDAdmin, bSuccess) then Result:= bSuccess; FreeSid (PSIDAdmin); end; |