Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Fragen zu WebBrowser.Handle?
jackie05 - Mi 07.04.10 01:48
Titel: Fragen zu WebBrowser.Handle?
Hallo,
ich habe in meinem Programm mehrere WebBrowser, die ich beim starten des Programms erzeuge und die Handle des einzelnen WebBrowser Speicher ich gleich mit.
Jetzt möchte ich z.B. den WebBrowser suchen mit folgende Handle: 1115926
ich hab das so versucht:
Delphi-Quelltext
1:
| wndChild := FindWindowEx(wndChild, 0, 'Shell Embedding', PChar(WebHandle[liste.ItemIndex])); |
das geht so leider nicht.
Wie könnte ich das ambesten lösen?
Ich bedanke mich schonmal im Voraus.
MfG
Moderiert von
Narses: Delphi-Tags hinzugefügt
Delete - Mi 07.04.10 02:41
Warum nimmst du nicht den Namen der Komponente zum identifizieren?
jackie05 - Mi 07.04.10 02:55
Danke Dir.
Wie kann ich das ambesten machen?
Also ich weise jede WebBrowser Komponent einen Namen zu und wie identifizier ich jede einzelne WebBrowser Komponent über ihren Namen?
MfG
Delete - Mi 07.04.10 02:57
Wie verwaltest du denn die Komponenten? In einem Array? In einer Objektliste? Eventuell solltest du dir mal FindComponente angucken.
jackie05 - Mi 07.04.10 03:08
In einem Array:
Delphi-Quelltext
1: 2: 3: 4:
| var Form1: TForm1; wb: array of TWebBrowser; WebHandle: array of HWND; |
Wenn ich z.B. ein beliebige WebBrowser suchen möchte, dann wird immer das zuletzt erstellte WebBrowser angesprochen, deshalb möchte ich über WebBrowser.Handle oder WebBrowser.Name diesen Komponent suchen.
Andreas L. - Mi 07.04.10 10:19
Du kannst durch das Array iterieren um an die einzelnen WebBrowser-Instanzen zu kommen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var i: Integer; begin for i := Low(wb) to High(wb) do begin wb[i].Navigate('http://www.delphiforum.de'); end; end; |
Xion - Mi 07.04.10 10:22
insbesondere kannst du dann mit
Delphi-Quelltext
1:
| if wb[i].Handle=MeinGesuchtesHandle then |
den entsprechenden raussuchen. Allerdings fände ich es sinnvoller, statt dem handle gleich die id (i) zu verwenden :nixweiss:
jackie05 - Mi 07.04.10 23:15
Danke euch.
Das ist mir klar, aber wie kann ich dann z.B. eine Message mit PostMessage an das WebBrowser senden anhand der Handle?
Weil wenn ich eine Message dann senden möchte, dann wird trotzdem die Message an das zuletzt erstellte WebBrowser gesendet.
Danke schonmal.
MfG
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!