Registriert seit: 6. Aug 2002
Ort: Wien
598 Beiträge
Delphi XE2 Professional
|
Re: Widerspenstigen Prozess beenden
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
|
|
Zitat
|