Entwickler-Ecke
Windows API - Aktives Browserfenster ermitteln?
FrankBurian - Mi 08.02.06 16:15
Titel: 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
digi_c - Mi 08.02.06 16:46
Getforegroundwindow würde ja evtl. dein eigenes Programm finden.
Du musst alle Fenster durchgehen und die ausfiltern die keine Browser sind. von denen nimmst du das mit der höchsten Z-Order.
FrankBurian - Mi 08.02.06 17:59
hi, habs so hinbekommen...
so bekomm ich die der reihe nach muss halt nach dem ersten gefunden abbrechen
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| 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)); if string(P) = arr_BrowserClasses[1] then begin GetWindowText(hwnd, P, 255); ShowMessage(P); end; if string(P) = arr_BrowserClasses[2] then begin 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
digi_c - Do 09.02.06 09:06
Da müsstest du mal mit dem FensterTool von Assarbard schauen welches GUI Element die jeweiligen Browser haben und dessen Text auslesen. Assarbard hat IMHO auch sehr gute Tutorials zu sowas....
http://www.assarbad.net
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!