Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Internetexplorer - Zugriff auf die einzelnen Register (https://www.delphipraxis.net/166393-internetexplorer-zugriff-auf-die-einzelnen-register.html)

Siegl 11. Feb 2012 08:44

Internetexplorer - Zugriff auf die einzelnen Register
 
Servus,

ich habe ein Problem mit dem Internetexplorer.
Weiß jemand, wie man auf die Dokumente der einzelnen Tab's (Register) zugreifen und diese ggf. auch aktivieren
kann. Ich muss diese über Delphicode auslesen, beschreiben und anzeigen können.
Bisher ist es so, dass ich nur auf die jeweils aktive Seite zugreifen kann, d.h. ich kann z.B. den Explorer in den
Vordergrund bringen, der zeigt aber dann die falsche Seite an.

Bernhard Geyer 11. Feb 2012 12:12

AW: Internetexplorer - Zugriff auf die einzelnen Register
 
Wieso externe anzeige? Du kannst die Komponente TWebBrowser nehmen und die entsprechende Seite in deinem Programm anzeigen.

mkinzler 11. Feb 2012 12:14

AW: Internetexplorer - Zugriff auf die einzelnen Register
 
Jeder Tab ist wie ein eigenes Fenster (eigenes DOM).

Siegl 11. Feb 2012 12:57

AW: Internetexplorer - Zugriff auf die einzelnen Register
 
Hallo,

Zuerst Dank für die Antworten (hatte schon befürchtet, es antwortet nimeand).

1. Die IE-Browser sind vorhanden, in ihnen laufen z.T. Javascript-Programme aus denen ich Daten entnehmen bzw. in
sie schreiben können soll.
Ein Szenario ist:
- Daten aus einer IE-Seite auslesen,
- diese in eine andere Seite schreiben
- und das Formular abschicken.
Wo sich die Seiten - ob in einem IE mit mehreren TAb's oder in verschiedenen IE-Instanzen - ist nicht
vorhersehbar, weil vom Benutzer abhängig.

2. Dass es sich um "eigene" Fenster handelt war mir klar. Ich finde nur keine Möglichkeit mit diesen umzugehen.

Mit diesem Codebeispiel finde ich sie sogar:

Code:
    IShellWindow := CoShellWindows.Create;
    for i := 0 to IShellWindow.Count do
    begin
      Dispatch := IShellWindow.Item(i);
      if Dispatch = Nil then Continue;
      if Dispatch.QueryInterface(IWebBrowser2,IInternetExplorer) = 0 then
      begin
        ...
Leider habe ich damit noch keinen geeigneten Zugriff bzw. kann ich im IE die Seite nicht anzeigen lassen.


Siegl

Bernhard Geyer 11. Feb 2012 19:19

AW: Internetexplorer - Zugriff auf die einzelnen Register
 
Ich könnte mir vorstellen das sowas nur über ein IE-Plugin möglich ist.

Siegl 12. Feb 2012 20:04

AW: Internetexplorer - Zugriff auf die einzelnen Register
 
Hallo,

ich habe nochmal gründlich in MSDN nach einer Lösung gesucht und nicht gefunden!
Ich werd's wohl mit dem (unschönem) Senden von Tabulator-Sprüngen <Strg-Tab> und Vergleich von Document-Elementen versuchen.

Siegl


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz