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

Получить путь к браузеру по умолчанию

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

Получить путь к браузеру по умолчанию

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

uses
   Registry;

 {....}

 procedure TForm1.Button1Click(Sender: TObject);
 var
   Reg: TRegistry;
   KeyName: string;
   ValueStr: string;
 begin
   Reg := TRegistry.Create;
   try
     Reg.RootKey := HKEY_CLASSES_ROOT;
     KeyName  := 'htmlfile\shell\open\command';
     if Reg.OpenKey(KeyName, False) then
     begin
       ValueStr := Reg.ReadString('');
       Reg.CloseKey;
       Label1.Caption := ValueStr;
     end
     else
       ShowMessage('No Default Webbrowser !');
   finally
     Reg.Free;
   end;
 end;

Here's a translation of the text into Russian:

Делфи-код, который извлекает путь к умолчанию браузеру веб-страниц, зарегистрированному на системе. Вот разбивка того, что он делает:

  1. Код использует модуль Registry и создает экземпляр класса TRegistry, который представляет собой ключ регистрации.
  2. Он устанавливает корневой ключ в HKEY_CLASSES_ROOT, который является верхнем уровнем регистрации, содержащим информацию о типах файлов и их связанных приложениях.
  3. Он определяет строковый переменный KeyName и устанавливает его в 'htmlfile\shell\open\command'. Это путь к ключу регистрации, который хранит командную строку умолчательного браузера веб-страниц.
  4. Код открывает указанный ключ регистрации с помощью метода OpenKey, передавая False как второй параметр, чтобы указать, что ключ должен быть открыт только для чтения.
  5. Если ключ успешно открыт, код читает значение строки значения (Default) в ключе с помощью метода ReadString.
  6. Затем он закрывает ключ регистрации с помощью метода CloseKey и присваивает прочитанное значение переменной Label1.Caption.
  7. Если ключ не может быть открыт или если нет зарегистрированного умолчательного браузера, код отображает сообщение с текстом "No Default Webbrowser !".

Альтернативное решение, использующее функцию SHGetKnownFolderPath из Windows API для извлечения пути к умолчательному браузеру веб-страниц:

uses
  ShellAPI;

procedure TForm1.Button1Click(Sender: TObject);
var
  buffer: array[0..MAX_PATH] of Char;
  size: DWORD;
begin
  SHGetKnownFolderPath(FOLDERID_InternetExplorer, 0, nil, buffer, size, nil);
  Label1.Caption := buffer;
end;

Код использует функцию SHGetKnownFolderPath для извлечения пути к умолчательному браузеру (в этом случае, Internet Explorer). Константа FOLDERID_InternetExplorer идентифицирует папку, содержащую умолчательный браузер. Функция возвращает путь в буфере, который должен быть не менее MAX_PATH символов длиной. Код затем присваивает полученный путь переменной Label1.Caption.

Обратите внимание, что это решение более простое и не требует доступа к регистрации. Однако оно работает только на Windows Vista и поздних версиях Windows. На ранних версиях Windows вам нужно использовать подход, показанный в оригинальном коде-наборе.

Получение пути к браузеру по умолчанию в Delphi программе происходит с помощью чтения ключа HKEY_CLASSES_ROOT\\htmlfile\\shell\\open\\command в реестре 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 16:30:46/0.0042860507965088/0