Я борюсь с этой проблемой с момента перехода на Chrome, когда он впервые вышел. К сожалению, Chrome не предназначен (или в настоящее время достаточно умный) для включения аргументов командной строки при регистрации в качестве браузера по умолчанию.
Я представил проблема чтобы запросить, чтобы Chrome / Chromium включал аргументы командной строки при регистрации в качестве браузера по умолчанию, но не задерживайте дыхание на его реализации. (Они, по-видимому, не заинтересованы в исправлении этого.)
Tl; dr: пропустить следующий абзац.
мое первое решение-прочитать обходной-изначально было создать .Reg-файл установить вручную в командной строке для каждого из различных мест, которые должны быть зарегистрированы (для HTM* файлы по HTTP* протоколы, гиперссылок и т. д.) Конечно, это стало довольно несостоятельным, тем более что я использовал расширяемые строки (которые экспортируются в REG-файлы как нечитаемый / не редактируемый двоичный текст), чтобы я мог использовать переменная окружения. Я не рекомендую этот метод.
моим следующим (и текущим) решением было создание трех переменных окружения,browser
,browser_args
и browser_args_cu
. Первая переменная просто содержит путь к EXE-файлу браузера. Второй содержит аргументы командной строки для браузера (если таковые имеются), в то время как последний содержит пользовательские аргументы (например, расположение папки userdata). Затем я просто заменил все экземпляры, где должен быть браузер зарегистрирован (см. список ниже) с расширяемой строкой %browser% %browser_args_cu% %browser_args% -- "%1"
и создал файл REG (4KB).
теперь я могу зарегистрировать свой" браузер " по выбору, объединив мой REG-файл только один раз. Если я хочу изменить свой браузер, мне не нужно редактировать файл REG; все, что мне нужно сделать, это изменить одну или две переменные среды (например, в Свойства Системы), что бесконечно проще. Кроме того, я могу запустить браузер с соответствующей командной строкой в любом месте, в любое время, выполнив короткую команду %browser% %browser_args_cu% %browser_args% -- "%1"
и даже может проверить другие параметры, прикрепив их к концу, или лучше, просто поместите переменные в пакетный файл или ярлык (например, с именем browser
). Тогда, например, чтобы установить расширение, не испытывая калечащий ошибка что я пытаюсь помочь исправить, я могу просто закрыть хром, запустите browser --single-process
или я могу открыть страницу расширения прямо как browser --single-process https://chrome.google.com/webstore/detail/…
.
список мест в реестре, где хром/хром set:
[HKLM\SOFTWARE\Clients\StartMenuInternet\Chromium\shell\open\command]
[HKLM\SOFTWARE\Clients\StartMenuInternet\Google Chrome\shell\open\command]
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe]
[HKCR\Applications\chrome.exe\shell\open\command]
[HKCR\ChromeExt\shell\open\command]
[HKCR\ChromeHTML\shell\open\command]
[HKCR\ChromiumExt\shell\open\command]
[HKCR\ChromiumHTML\shell\open\command]
[HKCR\ftp\shell\open\command]
[HKCR\http\shell\open\command]
[HKCR\https\shell\open\command]
[HKCR\MacromediaFlashPaper.MacromediaFlashPaper\shell\open\command]
[HKCR\pdf_auto_file\shell\open\command] (these two are custom for opening
[HKCR\svg_auto_file\shell\open\command] PDF and SVG files with)