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

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;

Автор: Song
Взято с Vingrad.ru http://forum.vingrad.ru

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

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;

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

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...