HI
R2009,
da gibt es 3 Möglichlkeiten:
a) du hast den Prozessnamen, den du dann beenden kannst
b) du hast die ProzessID von dem Prozess, den du beenden willst oder
c) du hast ein Fenster, welches geschlossen werden soll.
Ich geh mal davon aus, dass das zu beendende Programm kein JAVA-Programm ist.
für a)
Delphi-Quellcode:
procedure Killprocess(
Name:
String);
var PEHandle,hproc:cardinal;
PE:ProcessEntry32;
begin
PEHandle:=CreateTOOLHelp32Snapshot(TH32cs_Snapprocess,0);
if PEHandle<>Invalid_Handle_Value
then
begin
PE.dwSize:=Sizeof(ProcessEntry32);
Process32first(PEHandle,
PE);
repeat
if Lowercase(
PE.szExeFile)=Lowercase(Pchar(
Name))
then
begin
hproc:=openprocess(Process_Terminate,false,
pe.th32ProcessID);
TerminateProcess(hproc,0);
closehandle(hproc);
break;
end;
until Process32next(PEHandle,
PE)=false;
end;
closehandle(PEHandle);
end;
für b)
Delphi-Quellcode:
procedure TerminateProcess(PID: DWORD);
var
hproc:cardinal;
begin
hproc:=openprocess(Process_Terminate,false,
pe.th32ProcessID);
TerminateProcess(hproc,0);
closehandle(hproc);
end;
für c)
Delphi-Quellcode:
procedure CloseWindow(wnd: HWND);
begin
SendMessage(wnd, WM_CLOSE, 0, 0);
end;
Hoffe mal, dass da das entsprechend richtige dabei ist.
Bernhard