В Windows есть способ найти браузер по умолчанию. Вам придется использовать команды
REG QUERY HKCR\.html /ve
, который вернул бы
! REG.EXE VERSION 3.0
HKEY_CLASSES_ROOT\.html
<NO NAME> REG_SZ FirefoxHTML
Затем вы запросите FirefoxHTML (или любое другое значение, которое было возвращено), используя ту же команду, и добавите следующее к ключу
REG QUERY HKCR\FirefoxHTML\shell\open\command /ve
и это вернет
! REG.EXE VERSION 3.0
HKEY_CLASSES_ROOT\FirefoxHTML\shell\open\command
<NO NAME> REG_SZ "C:\Program Files\Mozilla Firefox\firefox.exe" -requestPending -osint -url "%1"
Отсюда вы можете проанализировать возвращенные строки, чтобы определить местоположение исполняемого файла браузера.
Вы можете сделать все это, используя класс Java Runtime:
Runtime.getRuntime.exec(cmdString);
Это требует большого количества настраиваемого кодирования, но вы можете создать собственный API для доступа к браузеру по умолчанию в Windows.
Вот пример доступа к реестру Windows в Java.
Вы также можете найти в Google дополнительную информацию о поиске браузера по умолчанию в реестре.
Что касается других платформ (Mac, Linux и т. Д.), Я уверен, что есть особый способ получить путь к браузеру по умолчанию.
Надеюсь, это поможет!