![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Есть ли более лучший способ изымания ссылки из IE? [D6, WinXP]
Volf_555 © (2006-01-14 13:22:00)Для изъятия текущей интернет-ссылки из IE я использую следующий код:
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;
И эту функцию вставляю в событие Таймера, интервал=10 милисекунд (желательно вообще 1 милисекунда, но в таком случае процессор загружен будет на 50-60 процентов!). При инт=10 мс проц загружен на 30 процентов.
Есть ли альтернативная функция, которая бы спокойно себе работала и не загружала, практически, процессор?
Volf_555 (2006-01-20 18:44:00) [1]
> Для твоих задач вообще писать какие-либо перехватчики не
> надо!
> Ставиш прокси-сервер, например WinGate, очень простой прокси
> в плане настройки. Он сам ведёт подобные логи и сиди разбирай
> их скока хочешь...
Это как один из вариантов.
Но только есть вопрос: будет ли WinGate определять локальный траффик? То есть траффик инета, который будет идти с того же компьютера, на котором установлено WinGate? (в UserGate это не предусмотрено)
Ботвин Дмитрий (2006-01-19 08:29:00) [2]Volf_555
Для твоих задач вообще писать какие-либо перехватчики не надо!
Ставиш прокси-сервер, например WinGate, очень простой прокси в плане настройки. Он сам ведёт подобные логи и сиди разбирай их скока хочешь...
Makhanev (2006-01-18 09:57:00) [3]
> Volf_555 (14.01.06 13:22)
Способ1: через перехват NavigateComplete с использованием OLE интерфейса IE. Смотри здесь: TDWebBrowserEvents2 (unit SHDocVwEvents)
Способ2: через FindWindow - описан в куче мест, например на http://www.swissdelphicenter.ch/en/
Volf_555 (2006-01-17 22:25:00) [4]
> dimodim (17.01.06 20:07) [6]
> Зачем кому то прога грузящая проц на 50 процентов есть способ
> проще в плагинах експлорера при установленом Regetdelexе
> есть перехватчик на закачку те верный способ - плагин
Практически тоже самое делает и FlashGet. Но мне необходимо автоматически извлекать ссылки из открываемых страниц и сохранять их в лог
Rouse_ (2006-01-17 22:05:00) [5]
> Ты имеешь в виду свой браузер писать?
Зачем? Смотри в MSDN пункт Shell Extensions
dimodim (2006-01-17 20:07:00) [6]Зачем кому то прога грузящая проц на 50 процентов есть способ проще в плагинах експлорера при установленом Regetdelexе есть перехватчик на закачку те верный способ - плагин
Volf_555 (2006-01-15 21:39:00) [7]
> Rouse_ © (15.01.06 19:11) [3]
> Пиши расширение браузера и в нем садись на Navigate - самый
> оптимальный подход... Если не ошибаюсь - тебе нужен IHlinkFrame
>
> На исходниках пошукай - я писал там демку перехвата Navigate.
> ..
Ты имеешь в виду свой браузер писать?
Volf_555 (2006-01-15 21:38:00) [8]
> WebSQLNeeder © (15.01.06 18:59) [2]
> Я не понял смысла происходящего, что значит "Для изъятия
> текущей интернет-ссылки из IE " - это откуда? Из загруженного
> документа?
>
> Или вообще обьясни смысл своих действий.
Суть в следующем - висит программа в трэи и следит за открываемыми страницами в Internet Explorer. Как только начинается грузиться какая-то новая ссылка, то эта ссылка "перехватывается" и заносится в лог открываемых интернет-страниц, а страница продолжает нормально загружаться
Rouse_ (2006-01-15 19:11:00) [9]Пиши расширение браузера и в нем садись на Navigate - самый оптимальный подход... Если не ошибаюсь - тебе нужен IHlinkFrame
На исходниках пошукай - я писал там демку перехвата Navigate...
WebSQLNeeder (2006-01-15 18:59:00) [10]Я не понял смысла происходящего, что значит "Для изъятия текущей интернет-ссылки из IE " - это откуда? Из загруженного документа?
Или вообще обьясни смысл своих действий.
Hecker (2006-01-14 16:50:00) [11]Да я бы тож хотел это знать! Если узнаешь вдруг, напиши мне плиз!