Array
(
)

Url do Browse

Renatacoimbra
   - 23 nov 2005

Olá Pessoal, Peguei essa rotina na net que pega as urls dos sites abertos, alguém pode me ajudar a adapta-la para pegar só a url do site ativo ?

da forma que está, se eu tiver 5 sites abertos, mais só um ativo, ele pega todas as 5 urls.

Obrigada.

#Código



function GetUrlFromIE (Handle: THandle; List: TStringList):
boolean; stdcall;
var
hWndIE, hWndIEChild : HWND;
Buffer : array[0..255] of Char;
begin
//get the window caption
SendMessage(Handle, WM_GETTEXT, 255, integer(@Buffer[0]));
//look for the Internet Explorer window with "Buffer" caption
hWndIE := FindWindow(´IEFrame´, Buffer);
if hWndIE > 0 then
begin
//try to get a handle to IE´s toolbar container
hWndIEChild := FindWindowEx(hWndIE, 0, ´WorkerW´, nil);
if hWndIEChild > 0 then
begin
//get a handle to address bar
hWndIEChild := FindWindowEx(hWndIEChild, 0, ´ReBarWindow32´, nil);
if hWndIEChild > 0 then
begin
//finally, locate combo box and add its text to the list
hWndIEChild := FindWindowEx(hWndIEChild, 0, ´ComboBoxEx32´, nil);
if hWndIEChild > 0 then
begin
SendMessage(hWndIEChild, WM_GETTEXT, 255, integer(@Buffer));
//List.AddObject(Buffer,TObject(hWndIE));
List.Add(Buffer)
end;
end;
end;
end;
//continue enumeration
Result :=True;
end; (*GetUrlFromIE*)




Michael
   - 24 nov 2005

Olá!

O que vc quer dizer com ´site ativo´? É a janela do IE com foco? Então seria a aplicação em primeiro plano sendo executada. Neste caso, vc pode usar a API GetActiveWindow, que retorna o Handle da janela ´focada´. Com ela, basta adaptar o código acima.

[]´s


Renatacoimbra
   - 24 nov 2005

Obrigada Michael.

Você pode me auxiliar com essa adaptação, não sei como fazer.


Obrigada.


Renatacoimbra
   - 24 nov 2005

dar uma ajudinha gente !

:(


Mahdak
   - 24 nov 2005

tente isso:


#Código


uses ddeman;

function GetURL(Service: string): String;
var
ClDDE: TDDEClientConv;
temp:PChar;
begin
Result := ´´;
//create a new DDE Client object
ClDDE:= TDDEClientConv.Create( nil );
with ClDDE do
begin
SetLink(Service,´WWW_GetWindowInfo´);
temp := RequestData(´0xFFFFFFFF´);
Result := StrPas(temp);
StrDispose(temp);
CloseLink;
end;
ClDDE.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(GetURL(´IExplore´));
end;



Renatacoimbra
   - 24 nov 2005

Obrigada mahdak !

Com o IE funcionou legal.

Eu não tenho instalado, mais se eu fizer assim:

ShowMessage(GetURL(´FireFox´)); será se funciona tb ?


Obrigada.


Ramms
   - 08 dez 2005


Citação:
Obrigada mahdak !

Com o IE funcionou legal.

Eu não tenho instalado, mais se eu fizer assim:

ShowMessage(GetURL(´FireFox´)); será se funciona tb ?


Obrigada.


Funciona sim


Facc
   - 11 jan 2008


Citação:

Citação:
Obrigada mahdak !

Com o IE funcionou legal.

Eu não tenho instalado, mais se eu fizer assim:

ShowMessage(GetURL(´FireFox´)); será se funciona tb ?


Obrigada.


Funciona sim


Revivendo o topico

Como faço pra pegar o Avant Browser? Já tentei Avant, AvantBrowser sem sucesso


Cyborg*
   - 25 mar 2008


Citação:

Citação:

Citação:
Obrigada mahdak !

Com o IE funcionou legal.

Eu não tenho instalado, mais se eu fizer assim:

ShowMessage(GetURL(´FireFox´)); será se funciona tb ?


Obrigada.


Funciona sim


Revivendo o topico

Como faço pra pegar o Avant Browser? Já tentei Avant, AvantBrowser sem sucesso


Faço a mesma pergunta 8)


Facc
   - 26 mar 2008


Citação:

Citação:

Citação:

Citação:
Obrigada mahdak !

Com o IE funcionou legal.

Eu não tenho instalado, mais se eu fizer assim:

ShowMessage(GetURL(´FireFox´)); será se funciona tb ?


Obrigada.


Funciona sim


Revivendo o topico

Como faço pra pegar o Avant Browser? Já tentei Avant, AvantBrowser sem sucesso


Faço a mesma pergunta 8)


Dê uma olhada nesse tópico
http://forum.devmedia.com.br/viewtopic.php?p=307735#307735