Anwendung/Prozess beenden/abschießen (Kill
Process)

GetProcessID
Um einen laufenden Prozess
beenden zu können benötigt man zunächst die ProcessID (PID),
diese bekommt man so:
| |
function
GetProcessID(Exename: string): DWORD;
- benötigt tlhelp32 und ShellAPI
in uses!
var
hProcSnap: THandle;
pe32: TProcessEntry32;
begin
result :=
0;
hProcSnap := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS,
0);
if hProcSnap <>
INVALID_HANDLE_VALUE
then
begin
pe32.dwSize :=
SizeOf(ProcessEntry32);
if
Process32First(hProcSnap, pe32) = true
then
begin
while
Process32Next(hProcSnap, pe32) = true
do
begin
if pos(Exename,
pe32.szExeFile) <>
0
then
result := pe32.th32ProcessID;
end;
end;
CloseHandle(hProcSnap);
end;
end; |
|
Quelle: http://www.delphipraxis.net |

KillProcess
Um Prozess letztlich zu beenden
kann man sich folgender Funktion bedienen:
| |
function KillProcess(PID:
DWord): Bool;
var
hProcess: THandle;
begin
hProcess := OpenProcess(PROCESS_TERMINATE, False, PID);
Result := TerminateProcess(hProcess,
0);
end;
|
|
Quelle: http://www.delphipraxis.net |

Syntax
Hat man beide Funktionen in sein
Programm integriert, so lauter der Syntax zum Killen eines
Prozesses wie folgt:
| |
KillProcess(GetProcessID('Programmname.exe')); |

|