Пример показывает, как найти окно Internet Explorer, и захватить из него текущий URL, находящийся в поле адреса IE. В Исходнике используются простые функции win32 api на delphi.
Function 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; |