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 Aktives Browserfenster ermitteln? (https://www.delphipraxis.net/62710-aktives-browserfenster-ermitteln.html)

TriphunEM 8. Feb 2006 14:12


Aktives Browserfenster ermitteln?
 
Hallo,

ich hoffe mir kann jemand ein Anstupps geben wie ich bei folgenden Problem vorgehen kann:

Auf dem Desktop sind sagen wir mal 10 Browserfenster geöffnet, 4x Firefox, 4x IE und 2x Opera.

Ich will jetzt, wenn ich in meinem Programm auf ein Button klick, die URL des Browserfensters auslesen was am weitesten vorne ist.

Mit GetForegroundWindow wird es bestimmt nicht gehen weil ja mein Programm ganz vorne ist, außerdem interessieren mich ja nur die Browser.

Gibt es eine möglichkeit die Fenster an hand der Klassennamen zu finden und dann herauszufinden welches am weitesten vorn ist???

Danke für eure Hilfe...

MfG

Frank

Christian Seehase 8. Feb 2006 18:09

Re: Aktives Browserfenster ermitteln?
 
Moin Frank,

schau Dir mal die Funktion MSDN-Library durchsuchenGetWindow an.
Vielleicht kann die Dir weiterhelfen.

TriphunEM 8. Feb 2006 18:38

Re: Aktives Browserfenster ermitteln?
 
thx, habs soweit hinbekommen...
so bekomm ich die der reihe nach muss halt nach dem ersten gefunden abbrechen
Delphi-Quellcode:
arr_BrowserClasses : array[1..2] of string = ('MozillaUIWindowClass','IEFrame');
...
var
  hwnd, chwnd : THandle;
  p : array[0..256] of Char;
begin
  hwnd := FindWindow(nil, nil);
  GetClassName(hwnd, P, SizeOf(P));
  while hwnd <> 0 do begin
    hwnd := GetWindow(hwnd, GW_HWNDNEXT);
    GetClassName(hwnd, P, SizeOf(P));
    // Firefox 1.0 - 1.5
    if string(P) = arr_BrowserClasses[1] then begin
      // Fenstertitel holen
      GetWindowText(hwnd, P, 255);
      ShowMessage(P);
    end;
    // IE 6.0
    if string(P) = arr_BrowserClasses[2] then begin
      // Fenstertitel holen
      GetWindowText(hwnd, P, 255);
      ShowMessage(P);
    end;

  end;
aber mein problem ist, ich hab zwar jetzt die fenstertitel, aber wie komm ich an die URL???

Wenn ich die Klasse der Adressleisten weiß, wie kann ich an die ran kommen????

habs mit findwindowex versucht, aber ohne erfolg!

????

wenn ich


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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