function AdjustProcessPrivilege(ProcessHandle: THandle; Token_Name: PChar): boolean; var Token: cardinal; TokenPri: _TOKEN_PRIVILEGES; ProcessDest: int64; l: DWORD; begin Result := False; if OpenProcessToken(ProcessHandle, TOKEN_Adjust_Privileges, Token) then begin if LookupPrivilegeValue(nil, Token_Name, ProcessDest) then begin TokenPri.PrivilegeCount := 1; TokenPri.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; TokenPri.Privileges[0].Luid := ProcessDest; l := 0; if AdjustTokenPrivileges(Token, False, TokenPri, sizeof(TokenPri), nil, l) then Result := True; end; end; end;