Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
Delphi 10.2 Tokyo Professional
|
AW: OpenThread schlägt außerhalb von Delphi fehl
5. Apr 2011, 19:58
Hallo,
Zitat von MSDN:
Indem Sie die Berechtigung SeDebugPrivilege für den laufenden Prozess festlegen, können Sie das Prozesshandle für jede aktive Anwendung beziehen
Folgender Code funktioniert bei mir:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var hToken: THandle;
New: PTokenPrivileges;
Len, OutLen: Cardinal;
DebugLUID: Int64;
begin
if OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES,hToken) then
begin
try
if LookupPrivilegeValue(nil,'SeDebugPrivilege',DebugLUID) then
begin
Len := SizeOf(TTokenPrivileges)+SizeOf(TLUIDAndAttributes);
GetMem(New,Len);
try
New^.PrivilegeCount := 1;
New^.Privileges[0].Luid := DebugLUID;
New^.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
if not AdjustTokenPrivileges(hToken,false,New^,0,nil,OutLen) then
RaiseLastOSError;
finally
FreeMem(New);
end;
end;
finally
CloseHandle(hToken);
end;
end;
end;
Problem ist also damit gelöst
Gruß
Neutral General
Michael "Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
|
|
Zitat
|