Как взять URL из окна IE?

Previous  Top  Next

    
 

 

 

Code:

uses windows, ddeman, ......

 

function Get_URL(Servicio: string): String;

uses windows, ddeman, ......

 

function Get_URL(Servicio: string): String;

var

Cliente_DDE: TDDEClientConv;

temp:PChar;  

begin

  Result := '';

  Cliente_DDE:= TDDEClientConv.Create( nil );

   with Cliente_DDE do

      begin

         SetLink( Servicio,'WWW_GetWindowInfo');

         temp := RequestData('0xFFFFFFFF');

         Result := StrPas(temp);

         StrDispose(temp);  //<<-Предотвращаем утечку памяти

         CloseLink;

      end;

    Cliente_DDE.Free;

end;

 

procedure TForm1.Button1Click(Sender);

begin

showmessage(Get_URL('Netscape'));

    или

showmessage(Get_URL('IExplore'));

end;

 

 

 

©Drkb::03501

Автор: Song

Взято с Vingrad.ru http://forum.vingrad.ru

 

 


Пример показывает, как найти окно Internet Explorer, и захватить из него текущий URL, находящийся в поле адреса IE. В Исходнике используются простые функции win32 api на delphi.

Code:

function GetText(WindowHandle: hwnd): string;

var

txtLength: integer;

buffer: string;

begin

TxtLength := SendMessage(WindowHandle, WM_GETTEXTLENGTH, 0, 0);

txtlength := txtlength + 1;

setlength(buffer, txtlength);

sendmessage(WindowHandle, wm_gettext, txtlength, longint(@buffer[1]));

result := buffer;

end;

 

 

function GetURL: string;

var

ie, toolbar, combo,

   comboboxex, edit,

   worker, toolbarwindow: hwnd;

begin

ie := FindWindow(pchar('IEFrame'), nil);

worker := FindWindowEx(ie, 0, 'WorkerA', nil);

toolbar := FindWindowEx(worker, 0, 'rebarwindow32', nil);

comboboxex := FindWindowEx(toolbar, 0, 'comboboxex32', nil);

combo := FindWindowEx(comboboxex, 0, 'ComboBox', nil);

edit := FindWindowEx(combo, 0, 'Edit', nil);

toolbarwindow := FindWindowEx(comboboxex, 0, 'toolbarwindow32', nil);

 

result := GetText(edit);

{-------------------------------------------------------}

 

procedure TForm1.Button1Click(Sender: TObject);

begin

showmessage(GetURL);

end;

 

 

 

©Drkb::03502

Взято из http://forum.sources.ru