![]() |
Alle IE Fenster schließen
Ich suche eine Möglichkeit zu überprüfen, ob der Internet Explorer geöffnet ist
und wenn ja ihn zu schließen. Also quasi zu verbieten, das man den IE zum Serven nutzen kann. Derzeit mach ich das so:
Code:
Das funktioniert auch ganz gut, aber frist bestimmt ne Menge Ressourcen.
procedure Tform1.KillProcess(hWindowHandle: HWND);
var hprocessID: INTEGER; processHandle: THandle; DWResult: DWORD; begin SendMessageTimeout(hWindowHandle, WM_CLOSE, 0, 0, SMTO_ABORTIFHUNG or SMTO_NORMAL, 5000, DWResult); if isWindow(hWindowHandle) then begin GetWindowThreadProcessID(hWindowHandle, @hprocessID); if hprocessID <> 0 then begin processHandle := OpenProcess(PROCESS_TERMINATE or PROCESS_QUERY_INFORMATION, False, hprocessID); if processHandle <> 0 then begin TerminateProcess(processHandle, 0); CloseHandle(ProcessHandle); end; end; end; end; procedure TForm1.IEBeenden; var ShellWindow: IShellWindows; WB: IWebbrowser2; spDisp: IDispatch; IDoc1: IHTMLDocument2; k: Integer; begin ShellWindow := CoShellWindows.Create; for k := 0 to ShellWindow.Count do begin spDisp := ShellWindow.Item(k); if spDisp = nil then Continue; spDisp.QueryInterface(iWebBrowser2, WB); if WB <> nil then begin WB.Document.QueryInterface(IHTMLDocument2, iDoc1); if iDoc1 <> nil then begin KillProcess(wb.HWND); end; end; end; end; procedure TForm1.Timer1Timer(Sender: TObject); begin IF xzeit = 0 THEN IEBeenden; end; Hätte da noch jemand eine Bessere Idee?! gruß Evian |
Re: Alle IE Fenster schließen
Ich hab's über die Fensterklassen gemacht:
Delphi-Quellcode:
alternativ noch mit einem Anti-Freeze zu versetzen ;)
Procedure CloseAllIE;
begin while FindWindow('IEFrame',nil)<>0 do SendMessage(FindWindow('IEFrame',nil),WM_Syscommand,SC_Close,0); end; |
Re: Alle IE Fenster schließen
sehr geil!!! :dancer2:
öhm das mit dem Antifreeze, meinst Du die Indy kombo?! Wie nutz ich die, und was macht sie genau?! thx Evi |
Re: Alle IE Fenster schließen
|
Re: Alle IE Fenster schließen
nein,
mit Anti-Freeze meinte ich z.B. ein Application.ProcessMessages o.ä. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz