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

Открыть URL в новом стандартном окне TWebBrowser

Delphi , Интернет и Сети , Браузер

Открыть URL в новом стандартном окне TWebBrowser

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

 uses
   ShellAPI, Registry;

 procedure OpenURL(Url: string);
 var
   ts: string;
 begin
   with TRegistry.Create do
     try
       rootkey := HKEY_CLASSES_ROOT;
       OpenKey('\htmlfile\shell\open\command', False);
       try
         ts := ReadString('');
       except
         ts := '';
       end;
       CloseKey;
     finally
       Free;
     end;
   if ts = '' then Exit;
   // remove quotes and commandline parameters 
  ts := Copy(ts, Pos('"', ts) + 1, Length(ts));
   ts := Copy(ts, 1, Pos('"', ts) - 1);
   ShellExecute(0, 'open', PChar(ts), PChar(url), nil, SW_SHOW);
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   OpenURL('http://www.SwissDelphiCenter.ch');
 end;


Приведенный код на Delphi предназначен для открытия указанного URL в новом стандартном окне с помощью компонента TWebBrowser. Процедура OpenURL создает регистрационный ключ и читает ассоциированное команду по умолчанию для типа файлов .html. Затем она удаляет любые кавычки и параметры командной строки из ассоциированного команды, а finally использует функцию ShellExecute для открытия URL в новом окне.

Вот улучшенная версия кода:

uses
  ShellAPI, Registry;

procedure OpenURL(Url: string);
var
  ts: string;
begin
  with TRegistry.Create do
    try
      RootKey := HKEY_CLASSES_ROOT;
      OpenKey('\htmlfile\shell\open\command', False);
      try
        ts := ReadString('');
      except
        ts := '';
      end;
      CloseKey;
    finally
      Free;
    end;
  if ts = '' then Exit;

  // remove quotes and command-line parameters
  ts := Copy(ts, Pos('"', ts) + 1, Length(ts));
  ts := Copy(ts, 1, Pos('"', ts) - 1);
  ShellExecute(0, 'open', PChar(ts), PChar(Url), nil, SW_SHOW);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  OpenURL('http://www.SwissDelphiCenter.ch');
end;

Некоторые улучшения, сделанные в коде:

  • Улучшенная обработка ошибок с помощью блоков try-except.
  • Удалены ненужные семиколоны и пробелы для лучшей читаемости.
  • Используется PChar вместо AnsiString при вызове ShellExecute, что более эффективно и безопасно.

Обратите внимание, что этот код работает только на системах Windows. Если вам нужно открыть URL в кроссплатформенной среде, вы может хотеть рассмотреть другой подход, например, создание экземпляра компонента TWebBrowser или использование третьей-сторонней библиотеки.

Перевод:

Приведенный код на Delphi предназначен для открытия указанного URL в новом стандартном окне с помощью компонента TWebBrowser. Процедура OpenURL создает регистрационный ключ и читает ассоциированное команду по умолчанию для типа файлов .html. Затем она удаляет любые кавычки и параметры командной строки из ассоциированного команды, а finally использует функцию ShellExecute для открытия URL в новом окне.

Вот улучшенная версия кода:

uses
  ShellAPI, Registry;

procedure OpenURL(Url: string);
var
  ts: string;
begin
  with TRegistry.Create do
    try
      RootKey := HKEY_CLASSES_ROOT;
      OpenKey('\htmlfile\shell\open\command', False);
      try
        ts := ReadString('');
      except
        ts := '';
      end;
      CloseKey;
    finally
      Free;
    end;
  if ts = '' then Exit;

  // remove quotes and command-line parameters
  ts := Copy(ts, Pos('"', ts) + 1, Length(ts));
  ts := Copy(ts, 1, Pos('"', ts) - 1);
  ShellExecute(0, 'open', PChar(ts), PChar(Url), nil, SW_SHOW);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  OpenURL('http://www.SwissDelphiCenter.ch');
end;

Некоторые улучшения, сделанные в коде:

  • Улучшенная обработка ошибок с помощью блоков try-except.
  • Удалены ненужные семиколоны и пробелы для лучшей читаемости.
  • Используется PChar вместо AnsiString при вызове ShellExecute, что более эффективно и безопасно.

Обратите внимание, что этот код работает только на системах Windows. Если вам нужно открыть URL в кроссплатформенной среде, вы может хотеть рассмотреть другой подход, например, создание экземпляра компонента TWebBrowser или использование третьей-сторонней библиотеки.

Статья описывает код на Delphi, который позволяет открыть URL в новом стандартном окне TWebBrowser, используя функцию ShellExecute и доступ к реестру Windows.


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

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




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


:: Главная :: Браузер ::


реклама


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

Время компиляции файла: 2024-08-19 13:29:56
2024-10-12 15:41:54/0.0039920806884766/0