Поделиться через


Как зарегистрировать интернет-браузер или клиент Email с помощью меню "Пуск" Windows

Примечание

Этот раздел относится к Windows XP, Windows Vista и Windows 7.

 

Меню "Пуск" в Windows XP и Windows Vista содержит зарезервированные слоты для клиентов Интернета (браузера) и электронной почты (почты) по умолчанию, которые называются интернет-приложениями меню "Пуск". Приложения, которые регистрируются как интернет-приложения меню "Пуск", делают это во всей системе (для каждого компьютера). В Windows Vista пользователь может использовать функцию Программы по умолчанию , чтобы задать значение по умолчанию для каждого пользователя.

При регистрации приложений в меню "Пуск" в меню "Интернет" в Windows XP и Windows Vista создаются значки Интернета и электронной почты в меню "Пуск". Если щелкнуть эти значки, в меню "Пуск" проверка поддеревь реестра для отдельных пользователей (HKEY_CURRENT_USER). Если параметр по умолчанию для каждого пользователя не найден, в меню Пуск выполняется поиск подраздела по умолчанию для каждого компьютера в поддереве HKEY_LOCAL_MACHINE .

Примечание

Установка Windows по умолчанию не регистрирует программу интернета или электронной почты по умолчанию для каждого пользователя, а только общесистемную программу по умолчанию. Это обеспечивает плавный путь обновления по сравнению с предыдущими версиями операционной системы, в котором для регистрации клиентов поддерживается только поддеревье HKEY_LOCAL_MACHINE.

 

В этом разделе рассматриваются следующие элементы:

Примечание

Эта регистрация является устаревшей в Windows 7, которая больше не предоставляет ссылку на Интернет меню "Пуск". Существующие регистрации игнорируются в Windows 7 и более поздних версиях. Регистрация в качестве интернет-приложения меню "Пуск" по умолчанию отличается от регистрации в качестве веб-браузера по умолчанию. Веб-браузер по умолчанию используется для запуска произвольных URL-адресов из любой точки системы. Интернет-приложение меню "Пуск" просто управляет программой, которая запускается, когда пользователь щелкает значок Интернета в меню "Пуск".

 

Любое приложение веб-браузера может зарегистрироваться для отображения в качестве интернет-клиента в меню "Пуск". Эта видимость в сочетании с правильной регистрацией файлов и протоколов приложения дает приложению состояние браузера по умолчанию.

Регистрации, выполненные в поддереве HKEY_CURRENT_USER , имеют более высокий приоритет для пользователя консоли, чем соответствующие регистрации, выполненные в HKEY_LOCAL_MACHINE. Для новых пользователей в системе используются параметры, хранящиеся в HKEY_LOCAL_MACHINE . В Windows XP параметры Интернета в меню "Пуск" хранятся в записях по умолчанию в двух расположениях реестра:

  • HKEY_CURRENT_USER\ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ\Клиентов\StartMenuInternet
  • HKEY_LOCAL_MACHINE\ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ\Клиентов\StartMenuInternet

Подраздел HKEY_CURRENT_USER\SOFTWARE\Clients\StartMenuInternet описывает браузер, который запускается, когда пользователь щелкает значок Интернета в меню "Пуск". Если этот подраздел пуст или отсутствует, значок Интернета в меню "Пуск" имеет значение по умолчанию, хранящееся во втором расположении по адресу HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet , в котором описаны все приложения браузера, установленные в системе.

Когда новый пользователь входит в систему, в меню Пуск используется значение по умолчанию в подразделе HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet для отображения интернет-клиента по умолчанию и запуска зарегистрированного приложения при щелчке этого значка.

Регистрация в качестве интернет-клиента по умолчанию

Под подразделом HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet может быть ноль или несколько подразделов, по одному для каждого зарегистрированного приложения браузера. Например, гипотетическая система может иметь такое расположение:

HKEY_LOCAL_MACHINE
   SOFTWARE
      Clients
         StartMenuInternet
            IEXPLORE.EXE
            BROWSER2.EXE
            BROWSER3.EXE

Мы продемонстрируем записи реестра с помощью гипотетического браузера Lit View от вымышленной компании Litware Inc. Предположим, что имя исполняемого файла для Lit View Litview.exe. Регистрация lit View происходит, как показано ниже:

HKEY_LOCAL_MACHINE
   SOFTWARE
      Clients
         StartMenuInternet
            LITVIEW.EXE
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123

Данные LocalizedString относятся к типу REG_SZ или REG_EXPAND_SZ, если используются переменные пути, такие как %programfiles% . LocalizedString предоставляет путь к исполняемому файлу (.exe) или библиотеке (.dll). Обратите внимание, что строка пути начинается со знака "at" (@) и вокруг пути не требуются кавычки, независимо от пробелов в нем. Десятичное целое число — это идентификатор строкового ресурса, содержащегося в указанной библиотеке DLL, значение которого должно отображаться для пользователя. Это позволяет использовать одну и ту же регистрацию для нескольких языков. Каждый язык предоставляет разные ResourceDLL.dll. Это позволяет системе отображать правильную строку на основе выбранного языка.

Следующая REG_SZ или REG_EXPAND_SZ значение сообщает меню "Пуск" о значке по умолчанию, который будет отображаться при выборе пользователем режима "Освещенное" в качестве меню "Пуск" в интернет-браузере.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Clients
         StartMenuInternet
            LITVIEW.EXE
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LitView.exe,1

В следующем подразделе реестра указана командная строка, выполняемая при щелчке пользователем команды меню "Интернет" в меню "Пуск", при условии, что в меню "Пуск" выбрано представление "Пуск" Интернет-браузер. Например, команда может открыть браузер с домашней страницей пользователя или запустить вводный пользовательский интерфейс, который независимый поставщик программного обеспечения считает подходящим. Данные имеют тип REG_SZ или REG_EXPAND_SZ, но обратите внимание, что поскольку в пути командной строки есть пробел, путь к исполняемому файлу заключен в кавычки.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Clients
         StartMenuInternet
            LITVIEW.EXE
               shell
                  open
                     (Default) = "C:\Program Files\LitwareInc\LitView.exe" -welcome

Когда пользователь указывает в разделе Set Program Access and Computer Defaults (SPAD), что режим Lit View должен использоваться в качестве веб-браузера по умолчанию на уровне компьютера, приложение должно задать следующую запись REG_SZ. Обратите внимание, что поскольку SPAD выполняется с правами администратора, доступ к этому подразделу разрешен.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Clients
         StartMenuInternet
            (Default) = LITVIEW.EXE

Примечание

В Windows Vista веб-браузер по умолчанию на уровне пользователя должен быть задан с помощью средства Программы по умолчанию , а не SPAD.

Следующие сведения относятся только к Windows XP.

Если регистрация веб-браузера по умолчанию на уровне компьютера в HKEY_LOCAL_MACHINE, как показано выше, выполнена успешно, приложение должно удалить запись По умолчанию в следующем подразделе:

HKEY_CURRENT_USER
   SOFTWARE
      Clients
         StartMenuInternet

Если регистрация веб-браузера по умолчанию на уровне компьютера в разделе HKEY_LOCAL_MACHINE завершается сбоем, приложение должно задать REG_SZ данные, как показано в этом примере для приложения Lit View:

HKEY_CURRENT_USER
   SOFTWARE
      Clients
         (Default) = LITVIEW.EXE

 

После обновления соответствующих подразделов приложение передает сообщение WM_SETTINGCHANGE с параметром wParam , равным 0, а параметр lParam указывает на строку "Software\Clients\StartMenuInternet", завершающуюся null. Это уведомляет операционную систему об изменении клиента по умолчанию.

Установка этих подразделов для интернет-браузера меню "Пуск" по умолчанию необходима для сохранения обратной совместимости со старыми веб-браузерами, которые не поддерживают регистрацию отдельных пользователей.

Примечание

Ссылка Email меню "Пуск" была удалена в Windows 7. Однако эта регистрация, описанная в этом разделе, по-прежнему должна быть выполнена, так как она влияет на назначение клиента MAPI по умолчанию.

 

Отображение клиента Email по умолчанию в меню "Пуск"

Любое почтовое приложение может зарегистрироваться для отображения в качестве почтового клиента в меню "Пуск". Эта видимость в сочетании с правильной регистрацией файлов и протоколов приложения дает приложению состояние почты по умолчанию.

Регистрации, выполненные в поддереве HKEY_CURRENT_USER , имеют более высокий приоритет для пользователя консоли, чем соответствующие регистрации, выполненные в HKEY_LOCAL_MACHINE. Для новых пользователей в системе используются параметры, хранящиеся в HKEY_LOCAL_MACHINE . В Windows XP параметры меню "Пуск" Email хранятся в записях по умолчанию в двух расположениях реестра:

  • HKEY_CURRENT_USER\ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ\Клиентов\Почты
  • HKEY_LOCAL_MACHINE\ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ\Клиентов\Почты

Подраздел HKEY_CURRENT_USER\SOFTWARE\Clients\Mail описывает почтовый клиент, который запускается, когда пользователь щелкает значок "Электронная почта " в меню "Пуск".

Подраздел HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail описывает почтовые приложения, установленные в системе, а также почтовое приложение по умолчанию.

Если HKEY_CURRENT_USER\SOFTWARE\Clients\Mail пуст или отсутствует, для выбора почтового приложения, которое отображается в меню Пуск, используется значение по умолчанию, определенное в HKEY_LOCAL_MACHINE\software\Clients\Mail .

Когда новый пользователь входит в систему, в меню Пуск используется значение по умолчанию в подразделе HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail , чтобы отобразить почтовый клиент по умолчанию и запустить зарегистрированное приложение при щелчке этого значка.

Регистрация в качестве клиента электронной почты по умолчанию

HKEY_LOCAL_MACHINE\ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ\Клиентов\Почта может содержать ноль или несколько подразделов, по одному для каждого зарегистрированного почтового приложения. Например, гипотетическая система может определить следующие подразделы:

HKEY_LOCAL_MACHINE
   SOFTWARE
      Clients
         Mail
            Eudora
            Windows Mail

Мы продемонстрируем записи реестра с гипотетическим клиентом электронной почты под названием "Lit Mail" от вымышленной компании Litware Inc. Litware Inc. решает зарегистрировать этот почтовый клиент под внутренним именем LitMail. Как и в браузере, внутреннее имя — это уникальная строка, используемая в качестве имени подраздела, но она никогда не отображается пользователю.

Чтобы установить почтовый клиент Lit Mail по умолчанию, они используют следующий подраздел и его записи:

HKEY_LOCAL_MACHINE
   SOFTWARE
      Clients
         Mail
            LitMail
               (Default) = Lit Mail
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-456

Данные LocalizedString относятся к типу REG_SZ или REG_EXPAND_SZ, если используются переменные пути, такие как %programfiles% . LocalizedString предоставляет путь к исполняемому файлу (.exe) или библиотеке (.dll). Обратите внимание, что строка пути начинается со знака "at" (@) и вокруг пути не требуются кавычки, независимо от пробелов в нем. Десятичное целое число — это идентификатор строкового ресурса, содержащегося в указанной библиотеке DLL, значение которого должно отображаться для пользователя. Это позволяет использовать одну и ту же регистрацию для нескольких языков. Каждый язык предоставляет разные ResourceDLL.dll. Это позволяет системе отображать правильную строку на основе выбранного языка.

После обновления соответствующих подразделов приложение передает сообщение WM_SETTINGCHANGE с параметром wParam , равным 0, а параметр lParam указывает на строку "Software\Clients\Mail", завершающуюся null. Это уведомляет операционную систему об изменении клиента по умолчанию.

Для обратной совместимости с приложениями, которые не поддерживают локализованные строки, имя приложения на установленном языке также должно быть задано в качестве значения по умолчанию для подраздела.

Следующий REG_SZ или REG_EXPAND_SZ значение сообщает в меню Пуск значок по умолчанию, который будет отображаться, когда пользователь выбирает Lit Mail в качестве почтовой программы меню Пуск:

HKEY_LOCAL_MACHINE
   SOFTWARE
      Clients
         Mail
            LitMail
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LitMail.exe,1

Следующая запись указывает командную строку для запуска, когда пользователь щелкает пункт меню Электронная почта в меню Пуск, при условии, что Lit Mail является выбранной почтовой программой меню Пуск. Эта командная строка также выполняется, если пользователь выбирает Чтение электронной почты в меню Средства Windows internet Обозреватель. Данные имеют тип REG_SZ или REG_EXPAND_SZ, но обратите внимание, что поскольку в пути командной строки есть пробел, путь к исполняемому файлу заключен в кавычки.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Clients
         Mail
            shell
               open
                  command
                     (Default) = "C:\Program Files\LitwareInc\LitMail.exe" -inbox

Если (и только в том случае) пользователь указывает Lit Mail как почтовое приложение меню "Пуск" по умолчанию, приложение Lit Mail может записать свое внутреннее имя в следующее значение REG_SZ :

HKEY_CURRENT_USER
   SOFTWARE
      Clients
         Mail
            (Default) = LitMail

Если (и только если) пользователь указывает Lit Mail как почтовое приложение по умолчанию для всей системы, приложение Lit Mail может записать свое внутреннее имя в REG_SZ значение, указанное ниже. Обратите внимание, что доступ к этому подразделу может быть ограничен. Приложения не должны предполагать, что все пользователи имеют разрешение на изменение приложения электронной почты по умолчанию для всей системы.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Clients
         Mail
            (Default) = LitMail

Регистрация в качестве почтового приложения меню "Пуск" по умолчанию не эквивалентна регистрации в качестве системного почтового клиента по умолчанию или зарегистрированного обработчика mailto .

  • Системный почтовый клиент по умолчанию запускается, когда пользователь нажимает кнопку Прочитать электронную почту в меню Интернет-Обозреватель Сервис.
  • Зарегистрированный обработчик mailto запускается, когда пользователь щелкает URL-адрес формы mailto:someone@example.com.
  • Почтовое приложение меню "Пуск" запускается, когда пользователь щелкает значок "Электронная почта " в меню "Пуск".

Если приложение электронной почты меню "Пуск" по умолчанию не указано, значок Email в меню "Пуск" запускает системный почтовый клиент по умолчанию.

В этом разделе не рассматривается регистрация приложения в качестве обработчика протокола mailto по умолчанию. Приложения, которые хотят зарегистрировать таким образом, должны продолжать следовать существующим спецификациям по этому вопросу.

Настройка контекстного меню

Приложение может настраивать страницы свойств, которые отображаются, когда пользователь выбирает свойства в контекстном меню значка электронной почты (или Интернета). Например, почтовое приложение Litware добавляет следующие REG_SZ или REG_EXPAND_SZ данные для отображения настраиваемой страницы свойств для значка электронной почты , а не страницы свойств по умолчанию.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Clients
         Mail
            LitMail
               shell
                  properties
                     MUIVerb = @C:\Program Files\LitwareInc\ResourceDLL.dll,-789
                     command
                        (Default) = "C:\Program Files\LitwareInc\LitMail.exe" -properties

Элемент данных MUIVerb создается начиная со знака "at" (@), за которым следует полный путь к библиотеке DLL ресурса, запятая, знак минуса (-) и идентификатор ресурса десятичной строки для отображения. Обратите внимание, что путь к программе LitMail.exe содержит пробелы, поэтому строка пути помещается в кавычки.

Приложение также может добавлять дополнительные команды в контекстное меню. Например, почтовое приложение Litware добавляет команду find со следующими REG_SZ данными :

HKEY_LOCAL_MACHINE
   SOFTWARE
      Clients
         Mail
            LitMail
               shell
                  find
                     MUIVerb = @C:\Program File\LitwareInc\ResourceDLL.dll,-790
                     command
                        (Default) = "C:\Program Files\LitwareInc\LitMail.exe" -contacts

Имя подраздела под оболочкой (в данном случае "найти") является произвольным, нелокализованным именем. В качестве первого элемента данные MUIVerb содержат знак "at" (@), за которым следует путь к библиотеке DLL ресурса, разделитель запятых, а затем знак "минус" перед идентификатором ресурса десятичной строки. Например, этот строковый ресурс может быть "Открыть адресную книгу". Наконец, обратите внимание, что строка командной строки содержит пробелы, поэтому она заключена в кавычки.