![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать набранную строку в броузере
XLDiB © (2005-04-24 09:04:00)Подскажите пжлста, как можно перехватить адресную строку в Internet Explorer ???
АНТИСпаммер (2005-04-30 02:17:00) [1]>> ie:=findWindow('IEFrame', 0);
Здесь лучше GetActiveWindow (с проверкой на Internet Explorer в заголовке) тк при нескольких открытых окнах в противном случае получите бред
А как выдрать URL из FireFox ?
whiletruedo (2005-04-26 05:03:00) [2]Если нужно узнать урл последнего активного окна IE в сстеме то просто
procedure TForm1.Button1Click(Sender: TObject);
var
ie, url, rbw: hwnd;
urlLength: integer;
urltext: string;
begin
ie:=findWindow('IEFrame', 0);
{тут находим хендл окна по его класу у ие класс IEFrame}
url:=FindWindowEx(ie, 0, 'WorkerW', 0);
{если неошибаюсь то ета функция для нахождения дочерних окон по хедлу родителя чет типа таво короче в ней мы по очереди будем доирацца до Edita в котором юрл прячецца}
rbw:=FindWindowEx(url, 0, 'ReBarWindow32', 0);
url:=FindWindowEx(rbw, 0, 'ComboBoxEx32', 0);
url:=FindWindowEx(url, 0, 'ComboBox', 0);
url:=FindWindowEx(url, 0, 'Edit', 0);
urllength:=SendMessage(url, WM_GETTEXTLENGTH,0,0);
{тут узнаем длину текста который содержицца в заголовке окна для едита ето текст который в нем написан}
urllength:=urllength+1
setlength(urltext, urllength); ;
{тут устанавливаем длину переменной в которую бум записывать текст из едита +1 незнаю какойто там неясный символ невкурсе что ето если кто раскажет буду рад}
SendMessage(url, WM_GETTEXT, urllength, LParam(@urltext[1])); {ну а тут собственно шлем едиту сообщение с функцией которая заберет из едита его текст и запишет в переменную urltekst}
Edit1.Text:=urltext;
{тут выводим етот самый юрл в едит}
end;
кажется можно юрл вытянуть с помощью WebBrowser (компонет такой есть) но как ето зделать пытаюсь понять сам.
удачи