Einzelnen Beitrag anzeigen

Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#3

Re: Beliebiges Programm über Delphi schließen

  Alt 18. Aug 2005, 23:19
Wenn der Name des Fensters bekannt ist:
Delphi-Quellcode:
var Window : hWnd;

Window := FindWindow(nil, 'Name des Fensters');
if Window <> 0 then PostMessage(Window, wm_close, 1, 1);
Funktioniert aber nicht, wenn das Programm z.B. eine Abfrage beim Beenden anzeigt

Wenn der Dateiname des Programms bekannt ist:
Delphi-Quellcode:
uses TlHelp32;

// Funktion
function KillTask(const AExeName: string): boolean;
var
  p: TProcessEntry32;
  h: THandle;
begin
  Result := false;
  p.dwSize := SizeOf(p);
  h := CreateToolHelp32Snapshot(TH32CS_SnapProcess, 0);
  try
    if Process32First(h, p) then
      repeat
        if AnsiLowerCase(p.szExeFile) = AnsiLowerCase(AExeName) then
          Result := TerminateProcess(OpenProcess(Process_Terminate,
                                                 false,
                                                 p.th32ProcessID),
                                     0);
      until (not Process32Next(h, p)) or Result;
  finally
    CloseHandle(h);
  end;
end;

// Aufruf
if not (KillTask('NameDesProgramms.exe') then
  {z.B.} showmessage('Programm konnte nicht beendet werden.');
Die harte Methode , von dsdt.info
  Mit Zitat antworten Zitat