![]() |
Link im aktiven Browser ausführen.
Hallo, ich hab eine Toolbar für den IE programmiert, mit der man sich in mein Projekt als Benutzer einloggen kann.
Da mein Standard Browser Firefox ist, öffnet sich jeden mal bei einloggen die Seite im Firefox und nicht in den eigentlichen IE-Fenster. Hat jemand ein Lösung wie ich den Link im aktiven Browser, in dem Fall der IE, öffne??? So wollte ich den Link aufrufen : ShellExecute(0, 'open', PChar('http://www.domain.com'), nil, nil, SW_SHOW); danke... |
Re: Link im aktiven Browser ausführen.
Delphi-Quellcode:
Versuch das mal
ShellExecute(0, 'open', PChar('iexplore.exe'), PChar('http://meineurl.com'), nil, SW_SHOW);
|
Re: Link im aktiven Browser ausführen.
danke. so funktioniert es zwar, aber ich würde lieber wollen, dass der link in der aktuellen seiteb geöffnet wird, und nicht in einem neuen fenster. dafür ein idee???
danke! |
Re: Link im aktiven Browser ausführen.
Moin Triphun,
Zitat:
Ich für meinen Teil kann es überhaupt nicht leiden, wenn so etwas passiert, und mir eine geöffnete Seite, sozusagen, überschrieben wird. |
Re: Link im aktiven Browser ausführen.
ja. ich will aber das der Benutzer selber entscheiden kann, ob der Link im aktiven IE oder einem neuen IE-Fenster angezeigt wird.
Hat jemand eine Ahnung wie ich den Link im aktuellen IE-Fenster öffne? Und gleich noch die Frage, wie ich den Link in einem neuen Tab im IE7 öffne?????? PS: Die Anwendung ist eine Toolbar im IE! Danke.. |
Re: Link im aktiven Browser ausführen.
keiner eine idee?
|
Re: Link im aktiven Browser ausführen.
Dann mußt du den IE wohl per OLE fernsteuern. Dann hat sich die Sache mit dem Standardbrowser aber erledigt.
|
Re: Link im aktiven Browser ausführen.
In der Toolbar dürftest du auch das IWebBrowser2 Interface des IE haben und das hat die Methode Navigate, mit dem du eine Seite aufrufen kannst. Für den zweiten Parameter gibt es zz. folgende Konstanten
Delphi-Quellcode:
const
navOpenInNewWindow = $00000001; navNoHistory = $00000002; navNoReadFromCache = $00000004; navNoWriteToCache = $00000008; navAllowAutosearch = $00000010; navBrowserBar = $00000020; navHyperlink = $00000040; navEnforceRestricted = $00000080; navNewWindowsManaged = $00000100; navUntrustedForDownload = $00000200; navTrustedForActiveX = $00000400; navOpenInNewTab = $00000800; navOpenInBackgroundTab = $00001000; navKeepWordWheelText = $00002000; |
Re: Link im aktiven Browser ausführen.
und wie komm ich an das IWebBrowser2 Interface und die Methode ran. Was meinst Du jetzt mit 2. Parameter? Redest Du von ShellExecute?
ps. hab meine toolbar nach dem schema gemacht : ![]() |
Re: Link im aktiven Browser ausführen.
Ungefähr davon bin ich auch ausgegangen und wenn du nicht zu viel geändert hast, dann müsste dein Formular auch eine Eigenschaft IWebBrowser2 (im Original der Demo FIE) besitzen. Auf jeden Fall steht das Interface in der eigentlichen DeskBar Unit zur Verfügung und kann von dort übernommen werden.
Eine Methode von IWebBrowser2 ist
Delphi-Quellcode:
Über den Parameter Flags kannst du dann steuern, ob die Seite in einem Tab geöffnet wird.
procedure Navigate(const URL: WideString; var Flags: OleVariant;
var TargetFrameName: OleVariant; var PostData: OleVariant; var Headers: OleVariant); Ein mögliches Problem dabei könnte sein, dass ein neues Tab ein eigenes IWebBrowser2 Interface ist, das du erst einmal nicht kennst. |
Re: Link im aktiven Browser ausführen.
also ich bin jetzt soweit:
Delphi-Quellcode:
allerdings öffnet der Link sich immer noch in einen neuen fenster!
procedure OpenSite(url, flags, targetframename, postdata, headers: olevariant);
var ie : IWebBrowser2; begin ie := CreateOleObject('InternetExplorer.Application') as IWebBrowser2; ie.Visible := true; ie.Navigate2(url, flags, targetframename, postdata, headers); end; ... OpenSite(url,'navHyperlink','','',''); Wie schaffe ich das nun, dass er in dem aktuellen fenster geöffnet wird!????? thx |
Re: Link im aktiven Browser ausführen.
navHyperlink ist kein string. Eine Konstante:
OpenSite(url,navHyperlink,'','',''); |
Re: Link im aktiven Browser ausführen.
Nicht sehr verwunderlich, dass du einen neuen Browser bekommst, du öffnest ja auch einen.
Da ist wieder die Frage, was du von der Demo übernommen bzw. geändert hast, die Deklaration deines Formulars wäre interessant. |
Re: Link im aktiven Browser ausführen.
ich hab an der demo nix geändert! hab nur das form angepasst!
wäre schön, wenn du mal deine idee, wie es funktionieren könnte in Quellcode zeigen würdest. Denn das ist dann bestimmt verständlicher für mich. thx |
Re: Link im aktiven Browser ausführen.
Also nichts geändert, dann müsste im Formular das vorkommen
Delphi-Quellcode:
Und eben diese Eigenschaft IE ist das Interface des Browsers in dem die Toolbar läuft. Dementsprechend muss dann nur noch irgendwo stehen
public
/// <summary> /// Speichert den Link in das lokale Fenster des Internet Explorers, wenn /// das DeskBand als Teil des IE geladen wird /// </summary> property IE: IWebBrowser2 read FIE write SetIE;
Delphi-Quellcode:
um die Seite in einem neuen Tab zu öffnen.
var flags: OLEVariant;
begin flags:=navOpenInNewTab; IE.Navigate('http://www.delphipraxis.net/index.html', flags, emptyParam, emptyParam, emptyParam); |
Re: Link im aktiven Browser ausführen.
jo danke. hat super geklappt. ich war wohl blind.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:08 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