Советы по Delphi

         

Захват текущего URL у MSIE


The_Sprite советует:

Пример показывает, как найти окно 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;

[001381]



Содержание раздела