uchwyt otwartej strony w WB

Odpowiedz Nowy wątek
2003-08-07 21:48

Rejestracja: 16 lat temu

Ostatnio: 15 lat temu

0

Jak pobrać uchwyt otwartej przez Navigate strony w WebBrowser?
WebBrowser1.Handle, to uchwyt całego komponentu, a ja potrzebuję uchwyt otwartej stronki.


"Life's but a walking shadow, a poor player
That struts and frets his hour upon the stage
And then is heard no more: it is a tale
Told by an idiot, full of sound and fury,
Signifying nothing."
William Shakespeare

Pozostało 580 znaków

2003-08-07 22:22

Rejestracja: 17 lat temu

Ostatnio: 4 lata temu

0

Uchwyt otwartej stronki? Pierwsze słysze...


Pozostało 580 znaków

2003-08-07 22:23

Rejestracja: 16 lat temu

Ostatnio: 3 lata temu

0

No wlasnie.. nie wiedzialem ze cos takiego istnieje...

Ale wiesz, jest takie bardzo fajne cuś jak WebBrowser1.Document.OleObject - na tym tez mozesz duzo zrobic :)


just me... ikari...
<url>blog.ikari.pl</url>

Pozostało 580 znaków

2003-08-07 22:25

Rejestracja: 17 lat temu

Ostatnio: 8 miesięcy temu

Lokalizacja: Sosnowiec

0

Uchwyt do okna, do procesu, do pliku... - owszem, ale do STRONY ???

Pozostało 580 znaków

2003-08-07 22:27

Rejestracja: 16 lat temu

Ostatnio: 15 lat temu

0

hmmmmm to może kodzik i wyjaśnie o co chodzi :)
Chcę sobie zablokować pojawiające się menu po kliknięciu PPM na webbrowsera.

procedure TForm1.MessageLoop(var Msg: TMsg; var Handled: Boolean);
var
mouse:Tpoint;
begin
if msg.hwnd = webbrowser1.Handle then <== tu potrzeba uchwyt stronki
begin
if (Msg.Message = WM_RBUTTONDOWN) or (Msg.Message = WM_RBUTTONUP)
then begin
handled:=True;
getcursorpos(Mouse);
popupmenu1.popup(Mouse.x,Mouse.y);
end
else Handled := False; //not rbutton
end
else
Handled := false; //not webbrowser msg
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
application.OnMessage := messageloop;
end;

Potrzebny jest taki uchwyt, bo inaczej, jak nie robie Navigate jest wsio OK, ale wystarczy że coś otworzę, i już msg.HWND i webbrowser1.handle nie są równe.


"Life's but a walking shadow, a poor player
That struts and frets his hour upon the stage
And then is heard no more: it is a tale
Told by an idiot, full of sound and fury,
Signifying nothing."
William Shakespeare

Pozostało 580 znaków

2003-08-07 23:25

Rejestracja: 16 lat temu

Ostatnio: 2 lata temu

0

W Windows uchwyt ma wszystko do czego coś się może odwołać, tak więc strona go nie potrzebuje, bo stroną jest tak jakby TWebBrowser, to w nim przechowywane są informacje itd i to on jest punktem wyjścia. Tak więc do operacji potrzebny jest tylko uchwyt TWebBrowsera, a potem to już operuje się na właściwościach i funkcjach, a przypadkiem, czy Twoja procedurka nie mogłaby właśnie działać na handlu WebBrowsera?? przeciez to na jedno wychodzi.

Pozostało 580 znaków

2003-08-07 23:36

Rejestracja: 16 lat temu

Ostatnio: 15 lat temu

0

No właśnie nie wychodzi na jedno, bo sprawdzałem.
Jeśli chodzi o uchwyt to to okno musi jakiś mieć , ponieważ gdy wykonuję funkcję WindowFromPoint(współrzędne myszki) i najadę na to okno, to w rezultacie jest uchwyt, ale inny, niz ten jaki był przed Navigate w Webbrowserze. I Właśnie chodzi mi o to, zeby jakoś to odczytać, bo raczej odczytywanie przez WindowFromPoint bedzie trochę kłopotliwe, aczkolwiek możliwe :)

Jednym słowem, rezultat funkcji WindowFromPoint(współrzędne myszki) odczytyny w tym samym położeniu myszy przed Navigate i po Navigate jest inny.


"Life's but a walking shadow, a poor player
That struts and frets his hour upon the stage
And then is heard no more: it is a tale
Told by an idiot, full of sound and fury,
Signifying nothing."
William Shakespeare

Pozostało 580 znaków

2003-08-08 08:02

Rejestracja: 17 lat temu

Ostatnio: 8 lat temu

0

EnumChildWindows - parentem jest uchwyt TWebBrowsera
lub
FindWindow + FindWindowEx
albo jedno i drugie


Szymek

<span style="color: blue">"Nie twierdzę, że kobiety są głupie,
zostały stworzone na podobieństwo mężczyzn...
"</span> - George Eliot<span style="color: green">

Pozostało 580 znaków

Anonim
2003-08-08 12:45
Anonim
0

No poradziłem sobie (wreszcie). Jak ktoś zaintersowany, to uchwyt strony to to co się pojawi w showmessage :

procedure TForm1.Button2Click(Sender: TObject);
var
i : integer;
begin
i := (FindWindowex(form1.Handle, 0, PChar('Shell Embedding') , nil));
i := ( FindWindowEx(i, 0, 'Shell DocObject View', nil )) ;
showmessage(inttostr( FindWindowEx(i, 0, 'Internet Explorer_Server', nil ))) ;
end;

PS: Można to zapisać jakoś krócej?

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0