Einzelnen Beitrag anzeigen

Benutzerbild von Motzi
Motzi

Registriert seit: 6. Aug 2002
Ort: Wien
598 Beiträge
 
Delphi XE2 Professional
 
#14

Re: Widerspenstigen Prozess beenden

  Alt 11. Aug 2003, 17:32
Delphi-Quellcode:
const
  SE_DEBUG_NAME = 'SeDebugPrivilege';

procedure EnableDebugPrivilege;
var
  hToken : THandle;
  tp : TTokenPrivileges;
begin
  if OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, hToken) then
  begin
    tp.PrivilegeCount := 1;
    LookupPrivilegeValue(nil, SE_DEBUG_NAME, tp.Privileges[0].Luid);
    tp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
    AdjustTokenPrivileges(hToken, False, tp, SizeOf(tp), nil, DWord(nil^));
    if GetLastError <> ERROR_SUCCESS then
      Application.MessageBox('Couldn''t enable Debug-Privilege!',
                             'No Debug-Privilege', MB_ICONWARNING or MB_OK);
    CloseHandle(hToken);
  end;
end;
Manuel Pöter
  Mit Zitat antworten Zitat