
27.08.2014, 18:32
|
 |
LMD-DML
|
|
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
|
|
Проверка на одмина из drkb
Код:
const
SECURITY_NT_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 5));
function CheckTokenMembership(TokenHandle: THandle; SidToCheck: pointer;
var IsMember: BOOL): BOOL; stdcall;
external advapi32 Name 'CheckTokenMembership';
function IsAdmin: boolean;
var
PSIDAdmin: PSID;
bSuccess: BOOL;
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;
|