无法在 Windows 10 中更改电话协议处理程序

无法在 Windows 10 中更改电话协议处理程序

tel:如何在 Windows 10 中运行链接的自定义命令?

我正在尝试使用 打开以链接格式显示的电话号码dialer.exe。我能够callto:通过添加路径来dialer.exe成功打开链接HKCU\SOFTWARE\Classes\callto\shell\open\command (详情请见此处)

tel:然而,这对于链接不起作用。这个帖子建议tel:需要配置链接HKCR\tel\shell\open\command,但这也不起作用。

尝试通过 Windows 设置或控制面板配置tel:链接只会给我在 Chrome、Skype for Business 或“在商店中查找应用程序”中打开它们的选项。在控制面板中,我尝试了设置关联和设置默认程序。在设置应用中,我尝试了“按协议选择默认应用”。

这个帖子建议我需要删除Tel下的键HKLM\SOFTWARE\Clients\StartMenuInternet\Google Chrome\Capabilities\URLAssociations\,但似乎只从我尝试打开链接时出现的建议应用列表中删除了 Chrome tel:

这个帖子说我应该清除HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\tel\ProgId,但这只会再次弹出一个在 Skype 和 Windows 应用商店应用之间进行选择的窗口。

答案1

您可以保存它(您应该更改dialer %1为您自己的命令行):

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Classes\callto]
@="URL:callto"
"URL Protocol"=""

[HKEY_CURRENT_USER\SOFTWARE\Classes\tel]
@="URL:tel"
"URL Protocol"=""

[HKEY_CURRENT_USER\SOFTWARE\Classes\dialer.callto]

[HKEY_CURRENT_USER\SOFTWARE\Classes\dialer.callto\Shell]

[HKEY_CURRENT_USER\SOFTWARE\Classes\dialer.callto\Shell\Open]

[HKEY_CURRENT_USER\SOFTWARE\Classes\dialer.callto\Shell\Open\Command]
@="dialer %1"

[HKEY_CURRENT_USER\SOFTWARE\Dialer]

[HKEY_CURRENT_USER\SOFTWARE\Dialer\Capabilities]
"ApplicationDescription"="Dialer"
"ApplicationName"="Dialer"

[HKEY_CURRENT_USER\SOFTWARE\Dialer\Capabilities\URLAssociations]
"callto"="dialer.callto"
"tel"="dialer.callto"

[HKEY_CURRENT_USER\SOFTWARE\RegisteredApplications]
"Dialer"="Software\\Dialer\\Capabilities"

作为.reg文件并将其导入注册表。这应该会添加到您可以选择的程序和协议dialer列表中。callto:tel:

答案2

这篇微软文章可能会回答这个问题:
用户登录后,Lync 2013、Lync 2010 或 Office Communicator 2007 R2 将成为协议的默认应用程序

概括

当您登录到 Microsoft Lync 2013、Microsoft Lync 2010 或 Microsoft Office Communicator 2007 R2 时,以下协议的注册表设置将被覆盖:

  • 电话
  • 拨电至
  • 西普
  • 我是
  • 会议

发生这种情况时,您登录的应用程序将成为支持这些协议的默认应用程序。

解决方法

  1. 打开注册表编辑器。为此,请按照以下步骤操作:

    • 在 Windows 8.0 或 Windows 8.1 中,按 Windows 功能键打开“开始”屏幕。如果您运行的是 Windows 7,请单击“开始”。
    • 使用 Windows 搜索功能搜索 regedit.exe。
    • 右键单击 regedit.exe,然后单击“以管理员身份运行”。
  2. 如果您已安装 Lync 2010 或 Office Communicator 2007 R2,请找到并右键单击以下注册表子项: HKEY_CURRENT_USER\Software\Microsoft\Communicator
    如果您已安装 Lync 2013,请找到并右键单击以下注册表子项: HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Lync

  3. 指向新的,然后点击DWORD(32 位)值

  4. 键入DisabledProtocolHandlerRegistrations新注册表项的名称,然后按 Enter。

  5. 在注册表中输入所需第三方应用程序的正确信息。例如,若要将支持 SIP 的默认应用程序从 Office Communicator 2007 R2 更改为所需的第三方应用程序,请按照以下步骤操作:

    • 找到并单击以下注册表子项:
      HKEY_CURRENT_USER\Software\Classes\sip\shell\open\command
    • 双击默认注册表项。然后,更改值以反映您想要使用的应用程序(而不是 Microsoft UC 客户端)。
      笔记:注册表项中的默认值指向 Microsoft UC 客户端。
    • 防止 Microsoft UC 客户端信息被重写到您在步骤 B 中更改的注册表设置。为此,请将以下值之一添加到注册表项DisabledProtocolHandlerRegistrations

      TEL: 0x0001
      CALLTO: 0x0002
      SIP: 0x0004
      SIPS: 0x0008
      IM: 0x0010
      CONF: 0x0020
      

笔记

  • 如果要防止 Microsoft UC 客户端成为多种协议的默认应用程序,可以对列表中的值求和。例如,要防止 Microsoft UC 客户端成为 SIP 的默认应用程序,请输入 0x0004。要防止 Microsoft UC 客户端成为 CALLTO 的默认应用程序,请输入 0x0002。要防止 Microsoft UC 客户端成为 SIP 和 CALLTO 的默认应用程序,请输入 0x0006。要防止 Microsoft UC 客户端成为所有协议的默认应用程序,请输入 3f。
  • DisabledProtocolHandlerRegistrations如果您在登录 Microsoft UC 客户端时更改注册表项中的值,则这些值将不可用。

答案3

最简单的方法是打开注册表 -HKEY_LOCAL_MACHINE\SOFTWARE\客户端\StartMenuInternet\Google Chrome\Capabilities\URLAssociations,然后找到电话并将含义从ChromeHTML到您的程序名称,它就可以工作了!!当您在 Chrome 中单击类型“tel:xxx-xx-xx”时,显示的不是 Chrome,而是您的程序名称!!

相关内容