![添加程序到任何协议:](https://linux22.com/image/1484849/%E6%B7%BB%E5%8A%A0%E7%A8%8B%E5%BA%8F%E5%88%B0%E4%BB%BB%E4%BD%95%E5%8D%8F%E8%AE%AE%EF%BC%9A.png)
我已将 Google Chrome 设置为我的默认电子邮件应用程序[Windows 10 > 设置 > 系统 > 默认应用](截图)。我的键盘上有快捷键Fn+ F2,可以打开默认的电子邮件应用程序,如果我使用内置的“邮件”应用程序或其他专门为此类应用程序设计的应用程序,这个功能很好用,但我想在 Chrome 浏览器中打开 Gmail,问题是当我按下键盘上的快捷键组合时,它只会打开 Chrome 及其主页。
我需要找出 Windows 注册表中电子邮件默认应用程序的存储位置,以便我可以调整链接以打开我想要的页面,但我找不到它,因为位置太多了。这是我想使用的链接,应该可以正常工作:"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -- "https://mail.google.com"
请告诉我Windows 10 将其默认电子邮件应用程序存储在注册表中的什么位置?
答案1
Windows 10 在其注册表中将默认电子邮件应用程序存储在哪里?
这是原始问题的标题。Windows
10 中的默认电子邮件应用程序是一款处理邮箱:协议。它实际上不应该打开收件箱,但是撰写新电子邮件表单——通过打开新页面/窗口开始写电子邮件。如何更改硬件按键关联?
这是问题的剩余部分,或者说第二个问题。
你键盘上的一个按钮被定义为撰写新电子邮件,这是通过调用默认电子邮件应用程序使用邮箱:协议。
但打电话邮箱:协议没有打开撰写新电子邮件表单,既不是收件箱,也不是电子邮件应用程序。这是第三个问题。
为什么 Chrome 无法打开撰写新电子邮件表格使用邮箱协议?
因为 Chrome 会忽略它,除非 Chrome 的选项中明确允许它。
所有三个答案都详细:
硬件按键关联
按下特殊 HW 键时应采取什么操作
HW 按钮可以是专用按钮,也可以是 Asker 案例中的Fn+组合。 注册表设置位于: 键F2
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Appkey
15代表设置电子邮件按钮
值名称可以是:- “ShellExecute”-它的值是一个要执行的文件名
,例如“calc.exe”或chrome.exe,带有正确的路径和可能的参数 - “Association”-指向一个 shell 关联对象
,它是 HKEY_CLASSES_ROOT 下某个键的名称
,例如文本文件将打开记事本,或者像我们的例子一样邮箱将打开一个与 mailto 协议关联的应用程序。
要打开撰写新电子邮件使用 mailto 关联。这是提问者的计算机上的默认行为:
REGEDIT4 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Appkey\15] "Association"="mailto"
要打开电子邮件应用程序或带有电子邮件收件箱的浏览器,您可以使用 shell 执行适当的命令。这就是 Asker 想要的,他的解决方案适用于这种情况。
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"
为了使最后一个功能正常工作,您还需要在 Chrome 中安装 Gmail 应用,并且需要在 Chrome 中的 Gmail 应用的右键菜单中启用“作为窗口打开”。
- “ShellExecute”-它的值是一个要执行的文件名
默认电子邮件应用程序邮箱协议
哪个程序正在处理“写新电子邮件”调用
例如当你点击发送电子邮件给开发者在某些程序的“关于”菜单上或 Windows 中的其他各个位置,或通过单击文档或网页中的电子邮件链接。
只能使用选择应用Windows 设置对话框中或打开为命令。如果设置是写电子邮件不仅仅是电子邮件
我认为 Windows 界面中没有针对打开收件箱的应用程序的单独设置。注册表项邮箱协议位于下
HKLM\SOFTWARE\Classes\mailto
,并且与其他类一样,它们可以被 CURRENT_USER 下的条目覆盖,位于HKCU\SOFTWARE\Classes\mailto
但
最近的 Windows 版本发生了变化,现在注册表中有更多的位置将进一步覆盖类中的 shell 关联。此外,在邮箱它们是强制性的,因此渲染类值邮箱没用。
下一个重要项是键:
[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]
微软干得好 :)
这些键下的值具有相同的格式,即键用户选择和进程ID指向 shell 关联密钥的 valuename课程。
但你几乎可以忘记编辑这些值,因为还有哈希值。这是针对此类注册表编辑的保护措施。
用户必须至少单击一次才能在标准 Windows 打开方式对话框弹出窗口中选择应用程序,如果用户还选中“始终”选项,则会生成哈希值,并记住该选择并将其写入上面列表中的最后两个键。另一个选项是使用如上图所示的设置。
这是针对恶意应用程序、病毒和不良编程应用程序的保护措施。解决默认问题邮箱关联,您可以删除邮箱除 LOCAL_MACHINE 之外的所有位置下的密钥。Windows
将在下次使用时重新创建它们邮箱协议。
Chrome 浏览器对 mailto: 链接的处理
如果选择 Chrome 作为默认电子邮件应用程序,如上所述的注册表设置将指向ChromeHTML关联。调用邮箱协议将执行此注册表项的操作。
HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command default "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -- "%1"
%1 将被替换为类似以下内容: 此字符串将传递到 Chrome 浏览器的地址栏。Chrome 预计会对mailto:[email protected]?subject=Hello
邮箱:通过在 Chrome 中定义适当的操作来禁用协议。但问题是:没有默认操作邮箱:Chrome 内部定义的链接。
- 启用此功能的默认方式应该是“点击地址栏里的眼睛。”在 gmail.com 网页上选择使用 Gmail但
有时,没有“眼睛” 转动邮箱:手动开启处理程序。
前往 Chrome 设置 - 隐私 - 内容设置 - 处理程序 - 管理处理程序,
或输入地址:chrome://settings/handlers
然后移除忽略的协议处理程序并切换主动协议处理程序发送至 mail.google.com
我找到了另一种解决方法。通过打开此链接,撰写新电子邮件表单将打开 但是当我使用它作为
https://mail.google.com/mail?extsrc=mailto&[email protected]
命令在ChromeHTML类,它破坏了在浏览器中打开 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"
我没有测试 Chrome 更新是否会破坏此解决方法
- 启用此功能的默认方式应该是“点击地址栏里的眼睛。”在 gmail.com 网页上选择使用 Gmail但
答案2
好的,如果有人感兴趣的话,我在这里找到了答案。[在此处输入链接描述][1]并且它运行完美
以下是该链接的引用
这是对侧面单触键(这就是它们的名字)进行的常规调整
Internet 密钥:HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Appkey\7 "Association"="http" ;更改字符串值“http”
计算器键:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\18 "ShellExecute"="calc.exe";更改字符串值“calc.exe”
电子邮件密钥:HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Appkey\15 "Association"="mailto" ;更改字符串值“mailto”
Cyberlink PowerDVD/Mediasmart 密钥:HKLM\SYSTEM\ControlSet001\Control\MobilePc\HotStartButtons\2 “ApplicationPath” = “C:\Program File(x86)\Cyberlink\PowerDVD9\PowerDVD9.exe”;更改字符串值“C:\Program File(x86)\Cyberlink\PowerDVD9\PowerDVD9.exe”
但为了进一步解释,我做了以下事情:
运行 [regedit] 并转到 [HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Appkey\15],创建名称为 [ShellExecute] 的新 [字符串值],并赋予其值 ["C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -- "https://mail.google.com“]。[Appkey\7] 为互联网快捷键,[AppKey\18] 为计算器快捷键。除了执行程序的 [ShellExecute] 之外,您还可以使用 [http] 或 [mailto] 的示例值进行 [关联],可能还有更多可以执行的操作。
答案3
添加程序到任何协议:
- 打开注册表编辑器。
- 导航
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet
。 - 找到您想要使用的程序(例如您的浏览器)(您必须已经打开它)。
- 添加
mailto
到URLAssociations
。 - 做不是重新启动或注销。
- 关闭/重新打开设置辅助控制面板,程序将会列出。
- 编辑程序的内部设置。
细节:
Windows 10 需要知道程序支持哪些协议才能列出协议的程序。幸运的是,这相当简单,只是涉及哈希(可能用于跟踪)的一个小麻烦。我猜哈希是生成的每次安装(只是猜测)因此您可能无法将其转储到在windows-10-fix-all-junk.reg
再次安装 Windows 10 后运行的文件中。
鲜血和血腥的哈希!
Mat,我使用 Waterfox 作为我的默认浏览器,因为我可以(实际上)自定义它。如果您需要创建所有注册表设置,但不知道在哪里找到哈希,那么请去 中查找您的程序Computer\HKEY_LOCAL_MACHINE\SOFTWARE\
,对于 Waterfox 来说,它是:
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Waterfox\TaskBarIDs
把所有东西都登记起来!
将哈希替换为星号,这里是注册表转储(超过需要):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\Waterfox-****************]
@="Waterfox Classic"
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\Waterfox-****************\Capabilities]
"ApplicationDescription"="Waterfox delivers safe, easy web browsing. A familiar user interface, enhanced security features including protection from online identity theft, and integrated search let you get the most out of the web."
"ApplicationIcon"="C:\\MEDIA\\INTERNET\\Waterfox\\56.0\\waterfox.exe,0"
"ApplicationName"="Waterfox"
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\Waterfox-****************\Capabilities\FileAssociations]
".htm"="WaterfoxHTML-****************"
".html"="WaterfoxHTML-****************"
".shtml"="WaterfoxHTML-****************"
".xht"="WaterfoxHTML-****************"
".xhtml"="WaterfoxHTML-****************"
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\Waterfox-****************\Capabilities\StartMenu]
"StartMenuInternet"="Waterfox-****************"
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\Waterfox-****************\Capabilities\URLAssociations]
"ftp"="WaterfoxURL-****************"
"http"="WaterfoxURL-****************"
"https"="WaterfoxURL-****************"
"mailto"="WaterfoxURL-****************"
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\Waterfox-****************\DefaultIcon]
@="C:\\MEDIA\\INTERNET\\Waterfox\\56.0\\waterfox.exe,0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\Waterfox-****************\InstallInfo]
"HideIconsCommand"="\"C:\\MEDIA\\INTERNET\\Waterfox\\56.0\\uninstall\\helper.exe\" /HideShortcuts"
"ShowIconsCommand"="\"C:\\MEDIA\\INTERNET\\Waterfox\\56.0\\uninstall\\helper.exe\" /ShowShortcuts"
"ReinstallCommand"="\"C:\\MEDIA\\INTERNET\\Waterfox\\56.0\\uninstall\\helper.exe\" /SetAsDefaultAppGlobal"
"IconsVisible"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\Waterfox-****************\shell]
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\Waterfox-****************\shell\open]
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\Waterfox-****************\shell\open\command]
@="\"C:\\MEDIA\\INTERNET\\Waterfox\\56.0\\waterfox.exe\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\Waterfox-****************\shell\properties]
@="Waterfox &Options"
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\Waterfox-****************\shell\properties\command]
@="\"C:\\MEDIA\\INTERNET\\Waterfox\\56.0\\waterfox.exe\" -preferences"
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\Waterfox-****************\shell\safemode]
@="Waterfox &Safe Mode"
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\Waterfox-****************\shell\safemode\command]
@="\"C:\\MEDIA\\INTERNET\\Waterfox\\56.0\\waterfox.exe\" -safe-mode"
答案4
它改变的注册表项应该是:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\mailto\UserChoice
话虽如此,但我认为这实际上不会为您提供如何更改处理方式的信息。您可能还需要以下键,但我不确定您到底想实现什么,而且我没有类似的功能键可以测试:
HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto