Einzelnen Beitrag anzeigen

Sascha L

Registriert seit: 4. Jun 2004
Ort: Hamm
390 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Java-Programme sanft beenden

  Alt 5. Apr 2006, 13:52
ja und wie verwende ich das dann mit folgendem code?

Delphi-Quellcode:
function GetWindowHandleByExeName(const AExeName: string): THandle;
var
  SnapShot: THandle;
  p: TProcessEntry32;
  ProcessHandle: THandle;
begin
  Result := 0;
  WindowHandle := 0;
  ProcessHandle := 0;
  p.dwSize := SizeOf(p);
  SnapShot := CreateToolhelp32Snapshot(TH32CS_SnapProcess, 0);
  try
    if Process32First(SnapShot, p) then
      repeat
      if AnsiLowerCase(AExeName) = AnsiLowerCase(p.szExeFile) then
        ProcessHandle := p.th32ProcessID;
      until (ProcessHandle <> 0) or not Process32Next(SnapShot, p);
    EnumWindows(@MyEnumWindowProc, ProcessHandle);
    Result := WindowHandle;
  finally
    CloseHandle(SnapShot);
  end;
end;
Aber wie du ja selbst schon sagst, killt der Taskmanager bei bedarf auch das Programm, wenn ein sanftes Beenden nicht geklappt hat. Und genau das liegt hier ja vor. Selbst der Taskmanager muss Java-Programme killen, weil ein normales wm_close nicht geht.

Daher die Frage, wie kann ich ein Java-Programm sanft beenden?
Sascha
  Mit Zitat antworten Zitat