Получаем ссылку из браузера

3 минуты на чтение

Здравствуйте, в этой статье я хотел бы рассказать как можно получить ссылку с браузера, который Вы укажите, или можно сделать, который у Вас открыт в текущий момент, в Интернете полно таких исходников, но они довольно сильно громоздкие, а мы еще и получим заголовок страницы, то есть название окна браузера (название страницы, которая в данный момент открыта во вкладке или в окне). Мы будем использовать очень хороший компонента, нет мы даже не будем его качать откуда-то, а просто воспользуемся стандартным компонентов и все, у нас готова наша почти программа для получения этих url из браузера, одно отделяет нас — это 3 строчки кода =). Данный компонент называется

  • DdeClientConv

Который находится на вкладке

  • System

Мы просто устанавливаем данный компонент на форму нашу и все, конечно можно создать его и программно, но пока что не будем насчет этого заморачиваться.

Теперь давайте на OnClick кнопки напишем код, который будет получать url с браузера и его заголовок.

procedure TForm1.Button1Click(Sender: TObject);
var
 Temp:WideString;
begin
   DdeClientConv1.SetLink('opera','WWW_GetWindowInfo');
   Temp:=DdeClientConv1.RequestData('sUrl');
   ShowMessage(Temp);
end;

С помощью SetLink мы устанавливаем браузер, с которого мы будем  получать информацию, а также какую информацию, а затем в переменную Temp мы записываем это и через запятую в переменной у нас будет в двойных кавычках url и заголовок браузера. Теперь мы можем пропарсить это все и получить например только url

procedure TForm1.Button1Click(Sender: TObject);
var
 Temp,url:WideString;
begin
   DdeClientConv1.SetLink('opera','WWW_GetWindowInfo');
   Temp:=DdeClientConv1.RequestData('sUrl');
   delete(Temp,1,pos('"',temp));
   url:=copy(temp,1,pos('"',temp)-1);
   ShowMessage(Url);
end;

Можно написать подобную функцию и использовать ее

function GetUrlBrowser(NameBrowser:WideString):WideString;
var
 Temp:WideString;
begin
   Result:='';
   Form1.DdeClientConv1.SetLink(NameBrowser,'WWW_GetWindowInfo');
   Temp:=Form1.DdeClientConv1.RequestData('surl');
   Delete(temp,1,pos('"',temp));
   delete(temp,pos('"',temp),length(temp));
   result:=temp;
end;

А использовать ее можно так

procedure TForm1.Button2Click(Sender: TObject);
begin
   Caption:=GetUrlBrowser('opera');
end;

Данный код компилировался в Delphi 7, и был протестирован на следующих браузерах

  • FireFox
  • Opera
  • IEplorer

Пробывал Google Chrome, но почему-то не захотел

Facebook Vk Ok Twitter LinkedIn Telegram

Похожие записи:

Здравствуйте, в этой статье я хотел бы поговорить как можно в своих проектах использовать рейтинг КиноПоиск.РУ. Да, конечно, самый простой способ — это отправить запрос на КиноПоиск, затем получить данные пропарсить, затем открыть найденную ссылку на фильм и т...
В этой статье хотел просто сказать, а точнее сделать для себя как будем парсить очень легко данные XML. Это делается для проекта VK API в Delphi, так как в каждой, рассмотренной статье по ВК API мы в основном получаем данные в формате XML, так что для удобства...
Итак, в свое время я делал для себя программу, которая должна была считывать текущие настройки сети и показывать их в программе. Далее, я мог эти настройки сохранить в файл, кроме этого, я мог ввести настройки сети (TCP/IP — ip-адрес, маску, dns-сервера) вручн...