Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как захватить текущий URL из окна Internet Explorer

Delphi , Интернет и Сети , URL

Как захватить текущий URL из окна Internet Explorer


Сначала Джон Леннон назвал свою группу "Beetles". Но оказалось, что адрес www.beetles.com уже занят какими-то жуками. С тех пор группа называется "Beatles".

Описываем две функции GetText и GetURL:


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);
end;

Ну а затем пользуемся функцией GetURL, например, можем в поле ввода по нажатию на кнопку выводит текущий URL:


procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text := GetURL;
end;

Задача заключается в том, чтобы поймать текущий URL из окна Internet Explorer с помощью Delphi.

Вот разбивка на части:

  1. Первая часть описывает происхождение названия The Beatles, что не имеет отношения к задаче программирования.
  2. Функция GetText принимает в качестве входного параметра handle окна (WindowHandle) и возвращает текст внутри этого окна в виде строки. Она использует функции Windows API, такие как SendMessage, GetWindowTextLength и SetLength, чтобы достичь этого.
  3. Функция GetURL более сложная, потому что она должна найти окно Internet Explorer и затем найти конкретные дочерние окна (например, комбобоксы и редактируемые контролы) внутри этого окна. Она использует функции Windows API, такие как FindWindowEx, чтобы выполнить эти поиски.

Теперь давайте вернемся к задаче: поймать текущий URL из окна Internet Explorer. Для этого вы можете использовать функцию GetURL в вашем приложении Delphi. Например, если у вас есть кнопка на форме, которая должна отображать текущий URL при клике, вы можете реализовать ее следующим образом:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text := GetURL;
end;

В этом коде Edit1 - это текстовое поле, в котором вы хотите отображать текущий URL. Когда вы кликните кнопку, функция GetURL будет вызвана, которая извлечет текущий URL из окна Internet Explorer и присвоит его свойству Text контрола Edit1.

Обратите внимание, что этот код предполагает, что есть экземпляр Internet Explorer, который сейчас запущен и имеет фокус при клике кнопки. Если вы хотите обрабатывать случаи, когда Internet Explorer может не быть запущен или не иметь фокуса, вам нужно добавить дополнительную обработку ошибок и логику.

В статье описывается способ захвата текущего URL из окна Internet Explorer с помощью функций GetText и GetURL, написанных на языке Pascal для использования в приложении.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




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


:: Главная :: URL ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-01-29 01:16:42/0.0033979415893555/0