Где Windows 10 хранит почтовое приложение по умолчанию в своем реестре?
Это заголовок оригинального вопроса.
Приложение электронной почты по умолчанию в Windows 10 - это приложение, которое обрабатывает протокол mailto : . На самом деле он не должен открывать папку «Входящие», но должен написать форму «Новое письмо» - открыв новую страницу / окно, чтобы начать писать письмо.Как изменить ассоциацию Hardware Keys?
Это остальная часть вопроса или вопроса номер два.
Одна из кнопок на вашей клавиатуре была определена как « Написать новое письмо», что было сделано путем вызова приложения электронной почты по умолчанию с использованием протокола mailto : .
Но при вызове mailto: протокол не открывал форму « Написать новое письмо», ни папку «Входящие», ни приложение электронной почты. И это вопрос номер три.
Почему Chrome не открывается? Написать новую форму электронной почты, используя mailto протокол ?
Потому что Chrome будет игнорировать его, если это явно не разрешено в настройках Chrome.
Все три ответа подробно:
Ассоциация аппаратных ключей
Какие действия следует предпринять при нажатии специальной HW-
кнопки HW может быть выделенной кнопкой или комбинацией Fn+, F2как в случае Аскера.
Настройки реестра находятся под:
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Appkey
Ключ 15 представляет настройки для кнопки электронной почты
Имена значений могут быть:- «ShellExecute» - его значение является именем файла, который нужно выполнить,
например, «calc.exe» или chrome.exe с другим путем и возможными аргументами. - «Ассоциация» - указывает на объект ассоциации оболочки,
который является именем ключа в HKEY_CLASSES_ROOT,
например, txtfile откроет блокнот или, как в нашем случае, mailto откроет приложение, связанное с протоколом mailto.
Чтобы открыть Написать новое письмо, используя mailto association. Это было поведение по умолчанию на компьютере Аскера:
REGEDIT4 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Appkey\15] "Association"="mailto"
Чтобы открыть приложение электронной почты или браузер с папкой «Входящие» электронной почты, вы можете использовать shell execute с соответствующей командой. Это то, что хотел Аскер, и его решение подойдет для этого случая.
ShellExecute "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -- "https://mail.google.com"
или в форме файла .reg
REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\15] "ShellExecute"="\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\" -- \"https://mail.google.com\""
Чтобы открыть приложение Gmail - приложение Chrome в отдельном окне.
REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\15] "ShellExecute"="\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\" --app-id=pjkljhegncpnkpknbcohdijeoejaedia"
чтобы этот последний работал, вам также необходимо установить приложение Gmail в Chrome и включить «Открыть как окно» в контекстном меню приложения Gmail в Chrome.
- «ShellExecute» - его значение является именем файла, который нужно выполнить,
Приложение электронной почты по умолчанию для протокола mailto
Какая программа обрабатывает вызов «Написать новое письмо»,
например, когда вы нажимаете кнопку « Отправить электронное письмо разработчику » в меню «О программе» в некоторых программах или в других местах Windows или щелкаете ссылку электронной почты в документе или на веб-странице.
Выбор можно сделать только с помощью диалогового окна « Выбрать приложение » в «Настройках Windows» или « Открыть как» .Было бы менее запутанным, если бы в настройках говорилось « Написать электронное письмо», а не просто « Электронная почта».
Я не думаю, что в интерфейсе Windows есть отдельная настройка для приложения, которое открывает папку «Входящие».Записи реестра для протокола mailto находятся в разделе
HKLM\SOFTWARE\Classes\mailto
и, как и в случае с другими классами, они могут быть переопределены записями для CURRENT_USER в разделеHKCU\SOFTWARE\Classes\mailto
НО.
В последних версиях Windows произошли изменения, и теперь в реестре появилось больше мест, которые будут переопределять ассоциации оболочки из классов., Более того, в случае mailto они являются обязательными, поэтому значения Classes для mailto бесполезны.
Следующим по важности является ключ:
[HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ mailto],
который, в свою очередь, переопределяется следующим образом:
[HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Windows \ Roaming \ OpenWith \ UrlAssociations \ mailto]
который также используется, только если он не переопределяется с помощью:
[HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Windows \ Shell \ Associations \ UrlAssociations \ mailto]
GOOD JOB Microsoft :)
Значения в этих ключах имеют тот же формат, ключ UserChoice с указанием значения ProgId. Оболочка ассоциации ключ от классов .
Но вы можете почти забыть о редактировании этих значений, так как здесь также есть значение Hash . Это защита от таких изменений реестра.
Пользователь ДОЛЖЕН щелкнуть себя хотя бы один раз, чтобы выбрать приложение в стандартном всплывающем диалоговом окне Windows «Открыть с помощью». Если он также установит флажок «Всегда», то будет сгенерировано значение «Хэш», а выбор запомнен и записан в последние два ключа из списка выше. Другой вариант - использовать настройки, как показано на рисунке выше.
Это защита от вредоносных приложений, вирусов и плохо запрограммированных приложений.Чтобы устранить проблему с связью mailto по умолчанию, вы можете удалить ключи mailto из-под всех этих расположений, кроме LOCAL_MACHINE.
Windows создаст их заново при следующем использовании протокола mailto .
Обработка браузера mailto: ссылки в браузере Chrome
Если в качестве почтового приложения по умолчанию выбран Chrome, настройки реестра, как указано выше, будут указывать на связь ChromeHTML . Вызов протокола mailto затем выполнит действие из этого раздела реестра.
HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command default "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -- "%1"
% 1 заменяется чем-то вроде этого:mailto:bogus@email.com?subject=Hello
эта строка будет передана в адресную строку браузера Chrome.
Ожидается, что Chrome отреагирует на протокол mailto: соответствующим действием, определенным внутри Chrome. Но проблема в том, чтоНе определено действие по умолчанию для mailto: ссылки внутри Chrome определены.
- По умолчанию это можно сделать следующим образом: «Нажмите на глаз в адресной строке». находясь на веб-странице gmail.com и выбрав Использовать Gmail .
Но иногда нет «глаза» Включите mailto: handler вручную.
Перейдите в Настройки Chrome - Конфиденциальность - Настройки контента - Обработчики - Управление обработчиками
или введите адрес: chrome: // settings / handlers,
затем удалите обработчики игнорируемых протоколов и переключите обработчики активных протоколов на mail.google.com.
Я нашел еще один обходной путь. Открыв эту ссылку, откроется форма « Создать новую электронную почту».
https://mail.google.com/mail?extsrc=mailto&url=email@domain.com
Но когда я использовал ее в качестве команды в ChromeHTML Class, это нарушило функциональность открытия http-ссылок в браузере, поэтому я создал новый класс ChromeMAILTO и изменил ассоциации для определений возможностей Браузер Chrome. Это полный файл .reg для этого обходного пути:REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ChromeMAILTO\Application] "ApplicationName"="Google Chrome mailto" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ChromeMAILTO\shell\open\command] @="\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\" -- https://mail.google.com/mail?extsrc=mailto&url=%1" [HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\Google Chrome\Capabilities\URLAssociations] "mailto"="ChromeMAILTO"
или, если вы предпочитаете, чтобы оно открывалось как приложение Chrome, в специальном окне:
REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ChromeMAILTO\Application] "ApplicationName"="Google Chrome mailto" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ChromeMAILTO\shell\open\command] @="\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\" --app=\"https://mail.google.com/mail?extsrc=mailto&url=%1\"" [HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\Google Chrome\Capabilities\URLAssociations] "mailto"="ChromeMAILTO"
Теперь выберите Google Chrome mailto в качестве почтового приложения по умолчанию.
Я не проверял, не нарушит ли обновление Chrome этот обходной путь
- По умолчанию это можно сделать следующим образом: «Нажмите на глаз в адресной строке». находясь на веб-странице gmail.com и выбрав Использовать Gmail .