Einzelnen Beitrag anzeigen

nat

Registriert seit: 10. Nov 2005
216 Beiträge
 
RAD-Studio 2009 Pro
 
#6

Re: Fremde Anwendung schließen und auf Ende warten

  Alt 8. Mai 2006, 22:23
ich hab ma sowas am beispiel von notepad gemacht.
vll hilft dir das ja weiter.

versucht erst das fenster per WM_CLOSE zu schliessen und
wenn das nach nem gewissen timeout nich geklappt hat per
TerminateProcess.

Delphi-Quellcode:
var
  hWnd, hProcess: THandle;
  DWResult, PID: Cardinal;
begin
  hWnd := FindWindow('Notepad', nil);
  if hWnd <> 0 then
  begin
    SendMessageTimeout(hWnd, WM_CLOSE, 0, 0,
      SMTO_ABORTIFHUNG or SMTO_NORMAL, 6000, DWResult);

    if IsWindow(hWnd) then
    begin
      GetWindowThreadProcessId(hWnd, PID);

      hProcess := OpenProcess(PROCESS_TERMINATE, False, PID);
      if hProcess <> 0 then
      begin
        TerminateProcess(hProcess, 0);
        CloseHandle(hProcess);
      end;
    end;
  end;
end;
  Mit Zitat antworten Zitat