AGB  ·  Datenschutz  ·  Impressum  







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

SetText: Addresszeile IE

Ein Thema von Xzeer · begonnen am 2. Mai 2008 · letzter Beitrag vom 2. Mai 2008
Antwort Antwort
Benutzerbild von Xzeer
Xzeer

Registriert seit: 6. Jul 2007
106 Beiträge
 
#1

SetText: Addresszeile IE

  Alt 2. Mai 2008, 12:03
Hallo,

Ich versuche mit Hilfe eines Handels die Addresszeile vom Internet Explorer zu verändern. Aber irgendwie gelint es mir nicht das Handel zu finden.

Momentan benutze ich folgeden Code:

Delphi-Quellcode:
var
   window: hwnd;

window:=findwindowex(findwindow('IEFrame',nil),0,'Edit',nil);
Allerdings wird das Handle nicht gefunden. Wenn ich allerdings nur findwindow benutze, dann findet er das IE Fenster. Ich brauche aber ja das Edit....

Delphi-Quellcode:
var
   window: hwnd;

window:=findwindow('IEFrame',nil);
Wie bekomme ich das hin...
Marvin
Xzeer
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#2

Re: SetText: Addresszeile IE

  Alt 2. Mai 2008, 12:10
Hallo,

da IEFrame nicht Parent von dem Edit ist, reicht das leider nicht.

Du musst Dich quasi über alle Child-Elemente durchhangeln, bis Du bei Deinem Edit angelangt bist.
Miniaturansicht angehängter Grafiken
snap01243_177.png  
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: SetText: Addresszeile IE

  Alt 2. Mai 2008, 12:16
Ich habe auch gerade mal WinSpy bemüht
Delphi-Quellcode:
const URL = 'http://www.delphipraxis.net';
var
  wndMain, wndChild: HWND;
begin
  wndMain := FindWindow('IEFrame',nil);
  if wndMain <> 0 then
  begin
    wndChild := FindWindowEx(wndMain, 0, 'WorkerW', nil);
    wndChild := FindWindowEx(wndChild, 0, 'ReBarWindow32', nil);
    wndChild := FindWindowEx(wndChild, 0, 'Address Band Root', nil);
    wndChild := FindWindowEx(wndChild, 0, 'ComboBoxEx32', nil);
    wndChild := FindWindowEx(wndChild, 0, 'ComboBox', nil);
    wndChild := FindWindowEx(wndChild, 0, 'Edit', nil);
    if wndChild <> 0 then
    begin
      SendMessage(wndChild,WM_SETTEXT,0,LongInt(PChar(URL)));
    end;
  end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#4

Re: SetText: Addresszeile IE

  Alt 2. Mai 2008, 12:20
Zitat von DeddyH:
wndChild := FindWindowEx(wndChild, 0, 'Address Band Root', nil);
Hast Du IE7?
Bekomme ich unter IE6 nämlich nicht.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: SetText: Addresszeile IE

  Alt 2. Mai 2008, 12:22
Jepp, ist der 7er (obwohl ich den so gut wie nie benutze).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Xzeer
Xzeer

Registriert seit: 6. Jul 2007
106 Beiträge
 
#6

Re: SetText: Addresszeile IE

  Alt 2. Mai 2008, 12:25
thx für die antoworten.

Ich hab selbst ja auch WinSpy benutzt, aber auf die Idee mir den Code generieren zu lassen bin ich dann doch nicht gekommen.

Ist wohl noch zu früh
Marvin
Xzeer
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#7

Re: SetText: Addresszeile IE

  Alt 2. Mai 2008, 14:05
Beim IE8 siehts wieder anders aus:

Delphi-Quellcode:
var
  wndMain, wndChild: HWND;
begin
  wndMain := FindWindow('IEFrame', nil);
  if wndMain <> 0 then
  begin
    wndChild := FindWindowEx(wndMain, 0, 'WorkerW', nil);
    wndChild := FindWindowEx(wndChild, 0, 'ReBarWindow32', nil);
    wndChild := FindWindowEx(wndChild, 0, 'Address Band Root', nil);
    wndChild := FindWindowEx(wndChild, 0, 'AddressDisplay Control', nil);
    if wndMain <> 0 then
    begin

    end;
  end;
end;
Zitat von Leos-Studio:
Ich versuche mit Hilfe eines Handels die Addresszeile vom Internet Explorer zu verändern. Aber irgendwie gelint es mir nicht das Handel zu finden.
Du kannst auch IWebBrowser2 ermitteln und dann zu einer anderen URL navigieren.
Oder was möchtest du damit genau erreichen?
Thomas
  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 01:19 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