Как захватить текущий URL из окна Internet Explorer

Описываем две функции GetText и GetURL:

{codecitation class="brush: pascal; gutter: false;" width="600px"}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);
end;
{/codecitation} 

Ну а затем пользуемся функцией GetURL, например, можем в поле ввода по нажатию на кнопку выводит текущий URL:

{codecitation class="brush: pascal; gutter: false;" width="600px"}procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := GetURL;
end;
{/codecitation}

Добавить комментарий