添加程序到任何协议:

添加程序到任何协议:

我已将 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 应用的右键菜单中启用“作为窗口打开”。


  • 默认电子邮件应用程序邮箱协议

    哪个程序正在处理“写新电子邮件”调用
    例如当你点击发送电子邮件给开发者在某些程序的“关于”菜单上或 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 更新是否会破坏此解决方法

答案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”

Cyber​​link PowerDVD/Mediasmart 密钥:HKLM\SYSTEM\ControlSet001\Control\MobilePc\HotStartButtons\2 “ApplicationPath” = “C:\Program File(x86)\Cyber​​link\PowerDVD9\PowerDVD9.exe”;更改字符串值“C:\Program File(x86)\Cyber​​link\PowerDVD9\PowerDVD9.exe”

[1]: http://h30434.www3.hp.com/t5/Notebook-Hardware-and-Upgrade-Questions/How-do-I-customize-the-Action-Keys/td-p/379207%5CPowerDVD9%5CPowerDVD9.exe%22

但为了进一步解释,我做了以下事情:

运行 [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

添加程序到任何协议:

  1. 打开注册表编辑器。
  2. 导航Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet
  3. 找到您想要使用的程序(例如您的浏览器)(您必须已经打开它)。
  4. 添加mailtoURLAssociations
  5. 不是重新启动或注销。
  6. 关闭/重新打开设置辅助控制面板,程序将会列出。
  7. 编辑程序的内部设置。

细节:

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

相关内容