как изменить браузер по умолчанию с помощью c # или командного файла

название говорит все это.

Браузер по умолчанию сохраняется как запись в разделе реестра окон. Значения сохраняются на основе протокола, как это

HKEY_CLASSES_ROOT \ [протокол] \ оболочки \ открытая команда \

Где протокол может быть http, https и т. Д. О том, как обращаться / изменять значения реестра внутри C #, вы можете взглянуть на эту статью

Я думаю, вам нужно будет изменить как минимум два RegistryKeys и установить путь к альтернативному браузеру:

HKEY_CLASSES_ROOT\http\shell\open\command HKEY_CLASSES_ROOT\htmlfile\shell\open\command 

Альтернативой может быть создание дополнительной записи под ключом Shell и ее установка как действие по умолчанию:

 [HKEY_CLASSES_ROOT\http\shell] (default) set to OpenWithMyBrowser [HKEY_CLASSES_ROOT\http\shell\OpenWithMyBrowser\command] (default) set to "MyBrowser.exe" 

для Windows 7 шт вам необходимо изменить раздел реестра для

 HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\ Associations\UrlAssociations\http 

вы можете изменить это, используя c #

 RegistryKey regkey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\shell\\Associations\\UrlAssociations\\http\\UserChoice", true); string browser = regkey.GetValue("Progid").ToString(); if (browser != "IE.HTTP") { regkey.SetValue("Progid", "IE.HTTP"); } 

перед vista os – (проверяется в Windows XP)

 RegistryKey regkey = Registry.ClassesRoot.OpenSubKey("http\\shell\\open\\command", true); string browser = regkey.GetValue(null).ToString().ToLower().Replace("\"", ""); string defBrowser = ""; if (!browser.EndsWith("exe")) { //get rid of everything after the ".exe" browser = browser.Substring(0, browser.LastIndexOf(".exe") + 4); defBrowser = browser.Substring(browser.LastIndexOf("\\") + 1); } if (defBrowser != "iexplore") { Process.Start("IExplore.exe"); ScreenScraperEngine.Instance.Wait(2000); string iepath = ""; foreach (Process p in Process.GetProcesses()) { if (p.ProcessName == "IEXPLORE") { iepath = p.MainModule.FileName; } } if (iepath != "") { string iepathval = "\"" + iepath + "\" -nohome"; regkey.SetValue(null, iepathval); } } 
  • Поддерживает ли Java значения параметров по умолчанию?
  • Принудительный клиент telnet в режиме символов
  • Почему в параметрах C ++ последнее значение должно быть добавлено последними?
  • Инициализация нормального массива с одним значением по умолчанию
  • Как изменить каталог данных MySQL?
  • Каков пакет по умолчанию, в который помещаются мои classы, если я не укажу его?
  • Значение по умолчанию для типа в Runtime
  • Программный эквивалент по умолчанию (Тип)
  • Объявление примитивов / объектов, значения инициализации по умолчанию
  • Создание (и доступ) разреженной матрицы с записями NA по умолчанию
  • Как открыть браузер по умолчанию в C #
  • Давайте будем гением компьютера.