AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Richtiges Window finden

Ein Thema von Evian · begonnen am 15. Okt 2003 · letzter Beitrag vom 15. Okt 2003
Antwort Antwort
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#1

Richtiges Window finden

  Alt 15. Okt 2003, 10:05
Hallö'chen ,

ich habe ein Programm geschrieben, mit dem ich über OLE auf
den Internetexplorer zugreife und z.B. das BrowserFenster
zoomen kann. Funktioniert soweit auch ziehmlich klasse, ich
überprüfe erst, ob schon ein IE Fenster da ist:

Code:
WinHanlde := FindWIndow( 'IEFrame', nil );
      if( 0 <> WinHanlde )then
      BEGIN
      //benutze das exestierende Fenster
      END ELSE
      BEGIN
      //mach einen eigenes IE - Fenster auf
      END;
wenn nun schon ein IE fenster da ist, dann muss ich einer
OLEvariant - Variablen, nur noch die ID des Fensters zuweisen
und kann dann z.B. mit ihm zu einer gewünschten URL browsen:

Code:
IEApp := GetActiveOleObject('InternetExplorer.Application');
IEApp.Navigate(URL);
wenn kein Fenster da ist, muss ich einfach ein neues erstellen
und kann dann damit Browsen, alles kein Problem:

Code:
IEApp        := CreateOLEObject('InternetExplorer.Application');
IEApp.Visible := True;
IEApp.Navigate(URL);
Mein Problem ist jetzt nur, dass wenn schon mehrere IE Fenster
offen sind, immer das Fenster genommen wird, was ich erstellt
habe oder wenn ich keins erstellt habe, das was generell als
erstes geöffnet wurde. Und wenn das geschlossen wurde ... dann
das welches als 2tes geöffnet wurde und so weiter.
Es ist mir klar, dass das Problem an der Zuweisung
IEApp := GetActiveOleObject('InternetExplorer.Application') ;
liegt, da die Funktion GetActiveOleObject mit sicherheit einfach
die ID des als erstes im Speicher gefundenen IE - Fensters ausgibt.
Das ist aber blöd, da mein Programm dann immer nur bei diesem
Fenster funktioniert, ich hätte es viel lieber, wenn das Fenster
genommen werden würde, was als letztes den Fokus hatte.

Hat da vielleicht jemand eine Idee? Wie bekomme ich herraus, welches
fenster als letztes den Fokus hatte?

Falls jemand eine Idee hätte, würde ich mich wie immer sehr freuen.

MFG

Evian

-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  Mit Zitat antworten Zitat
OLLI_T

Registriert seit: 13. Okt 2003
Ort: Nähe Wetzlar / Hessen
143 Beiträge
 
Delphi 5 Enterprise
 
#2

Re: Richtiges Window finden

  Alt 15. Okt 2003, 16:29
Auch Hallöchen!

Hab da so eine Idee. Vielleicht klappt es ja.

1. Alle IEFrames mit EnumWindows suchen.

2. Alle Fenster bis auf das, welches Du angraben möchtest, mit SetWindowPos verstecken.

3. Jetzt kommt der Moment, wo der Frosch ins Wasser rennt: GetActiveDingenskirchen aufrufen.

4a. Du hast jetzt das richtige Fenster erwischt und zeigst alle anderen Fenster wieder an.

4b. Du hast nach wie vor Mist und vergisst alles, was ich geschrieben habe.

Viel Glück + gib Meldung ab

OLLI
No Pain No Gain!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:14 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