Зарегистрируйте протокол mailto для пользовательской программы в Windows 10
Я хотел бы зарегистрировать свою программу для обработки mailto
протокол.
Я видел эти ответы
- Как зарегистрировать пользовательскую программу для обработки протокола mailto в Windows
- Зарегистрировать программу Windows с протоколом mailto программно
Я попытался добавить новый ключ или изменить существующий ключ по этому пути: HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\URLAssociations\MAILTO\Userchoice
,
Кроме того, я добавил свою программу в HKCR
root, но это не заставило мою программу появиться в списке выбора.
Кроме того, в целях тестирования я попытался изменить значение имени класса ключа mailto по этому пути: HKEY_CURRENT_USER\SOFTWARE\Clients\StartMenuInternet\GoogleChrome\Capabilities\
URLAssociations
на имя класса моей программы. Это действительно сработало, но вместо того, чтобы взламывать Google Chrome, я бы предпочел добавить свой собственный раздел реестра.
Как я могу добавить свою программу в качестве законного обработчика для mailto
протокол?
2 ответа
Вот пример регистрации почтового клиента - Для регистрации в программах по умолчанию / современных приложениях по умолчанию. Вы можете изменить его соответствующим образом, оставив ненужные детали.
Windows Registry Editor Version 5.00
;RegisteredApplications
;----------------------
[HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications]
"MyMail"="Software\\Clients\\Mail\\MyMail\\Capabilities"
;Clients Key (The path mentioned for MyMail in RegisterdApplications key)
;------------------------------------------------------------------------
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\MyMail]
@="MyMail"
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\MyMail\Capabilities]
"ApplicationDescription"="Superfast, Light-weight Mail Client for Windows"
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\MyMail\Capabilities\FileAssociations]
".eml"="MyMail.eml"
".nws"="MyMail.nws"
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\MyMail\Capabilities\StartMenu]
"Mail"="MyMail"
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\MyMail\Capabilities\UrlAssociations]
"mailto"="MyMail.mailto"
;Then create handlers for MyMail.eml, MyMail.nws, MyMail.mailto as referenced above
;EML File Type Handler
;---------------------
[HKEY_CLASSES_ROOT\MyMail.eml]
@="MyMail EML Handler"
[HKEY_CLASSES_ROOT\MyMail.eml\shell\open\command]
@="\"C:\\Program Files\\Windows Mail\\WinMail.exe\" -eml \"%1\""
;NWS File Type Handler
;---------------------
[HKEY_CLASSES_ROOT\MyMail.nws]
@="MyMail NEWS Handler"
[HKEY_CLASSES_ROOT\MyMail.nws\shell\open\command]
@="\"C:\\Program Files\\Windows Mail\\WinMail.exe\" -news \"%1\""
;MAILTO Protocol Handler
;---------------------
[HKEY_CLASSES_ROOT\MyMail.mailto]
@="MyMail MAILTO Handler"
[HKEY_CLASSES_ROOT\MyMail.mailto\shell\open\command]
@="\"C:\\Program Files\\Windows Mail\\WinMail.exe\" -mailto \"%1\""
Я загрузил то же самое в этой ссылке Pastebin.
Официальную документацию см. В разделе "Регистрация программ по умолчанию" в MSDN. Хотя в документации указано, что она не действительна для Windows 10, она, безусловно, применима (и отлично работает) в Windows 10. В Windows 10 часть регистрации практически не изменилась.
Также см.: Настройки по умолчанию для программы Windows 10 - Microsoft Community
mailto ссылки не работают с этим патчем реестра. Поэтому я изменил эту строку:
@="\"C:\\Program Files\\Windows Mail\\WinMail.exe\" -mailto \"%1\""
в это
@="\"C:\\Program Files\\Windows Mail\\WinMail.exe\" /mailurl:\"%1\""
Затем, чтобы связать все протоколы с Почтой Windows, я открыл Панель управления> Предопределенные программы> Задать предопределенные программы и внес необходимые изменения.