Делфи-код, который извлекает путь к умолчанию браузеру веб-страниц, зарегистрированному на системе. Вот разбивка того, что он делает:
Код использует модуль Registry и создает экземпляр класса TRegistry, который представляет собой ключ регистрации.
Он устанавливает корневой ключ в HKEY_CLASSES_ROOT, который является верхнем уровнем регистрации, содержащим информацию о типах файлов и их связанных приложениях.
Он определяет строковый переменный KeyName и устанавливает его в 'htmlfile\shell\open\command'. Это путь к ключу регистрации, который хранит командную строку умолчательного браузера веб-страниц.
Код открывает указанный ключ регистрации с помощью метода OpenKey, передавая False как второй параметр, чтобы указать, что ключ должен быть открыт только для чтения.
Если ключ успешно открыт, код читает значение строки значения (Default) в ключе с помощью метода ReadString.
Затем он закрывает ключ регистрации с помощью метода CloseKey и присваивает прочитанное значение переменной Label1.Caption.
Если ключ не может быть открыт или если нет зарегистрированного умолчательного браузера, код отображает сообщение с текстом "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
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.