Thema: Delphi ShellExecute_AndWait

Einzelnen Beitrag anzeigen

Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#2

Re: ShellExecute_AndWait

  Alt 24. Mär 2009, 12:04
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
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat