![]() |
IE starten und als IWebBrowser2 benutzen
Ich hab noch nie mit interfaces gearbeitet und hänge grade bei dem Problem, wie ich einen Internet Explorer so starten kann (ShellExecute, CreateProcess, ...), dass ich danach mit IWebBrowser2 darauf zugreifen kann.
Ich hab einen Code gefunden, der das anhand des Handles macht, aber hier hab ich das Problem, das ich nicht von der ProcessID auf das Handle komme. Außerdem hab ichs noch mit FindWindow versucht, hier ist aber nicht gesichert, dass ich den richtigen IE erwische. |
Re: IE starten und als IWebBrowser2 benutzen
Hallo,
Du kannst einfach das von CreateOleObject zurueckgegebene IDispatch Interface auf ein IWebBrowser2 casten:
Delphi-Quellcode:
var
ie: IWebBrowser2; begin ie := CreateOleObject('InternetExplorer.Application') as IWebBrowser2; Beispiel:
Delphi-Quellcode:
uses
ComObj, SHDocVw_TLB; procedure OpenIE(Url, Flags, TargetFrameName, PostData, Headers: OleVariant); var ie: IWebBrowser2; begin ie := CreateOleObject('InternetExplorer.Application') as IWebBrowser2; ie.Left := 120; ie.Top := 120; ie.Width := 700; ie.Height := 500; ie.MenuBar := False; ie.AddressBar := False; ie.Resizable := False; ie.StatusBar := False; ie.ToolBar := 0; ie.Navigate2(Url, Flags, TargetFrameName, PostData, Headers); ie.Visible := True; end; procedure TForm1.Button1Click(Sender: TObject); begin OpenIE('www.delphipraxis.de','','','',''); end; |
Re: IE starten und als IWebBrowser2 benutzen
Ohh! Das war aber einfach.
Vielen, vielen Dank! Das spart mir ungefähr 9/10 von meinem Code und einen ziemlich umständlichen Ansatz. :love: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 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-2025 by Thomas Breitkreuz