Registriert seit: 29. Mai 2002
37.621 Beiträge
Delphi 2006 Professional
|
Re: Prozesse & Handles auslesen
18. Feb 2010, 20:53
Zitat von Leon421:
D.h. ich muss wohl den Autor der Unit die fürs Terminieren der Prozesse zuständig ist, überzeugen, Prozess-IDs statt handles zum terminieren zu akzeptieren?
Wie so? Du musst das Handle nur benutzen bevor du es schließt:
Delphi-Quellcode:
function KillProcess(dwProcID, Wait: DWORD): Integer;
var
hProcess : Cardinal;
dw : DWORD;
begin
// open the process and store the process-handle
hProcess := OpenProcess(SYNCHRONIZE or PROCESS_TERMINATE, False, dwProcID);
// kill it
if hProcess <> 0 then
begin
dw := Integer(TerminateProcess(hProcess, 1));
if dw <> 0 then
begin
// TerminateProcess returns immediately, so we have to verify the result via
// WaitForSingleObject
dw := WaitForSingleObject(hProcess, Wait);
if dw = WAIT_FAILED then
dw := GetLastError;
end
else // TerminateProcess = 0
dw := GetLastError;
CloseHandle(hProcess);
end
else // hProcess = INVALID_HANDLE_VALUE
dw := GetLastError;
result := dw;
end;
Michael Ein Teil meines Codes würde euch verunsichern.
|
|
Zitat
|