![无法在 Windows 10 中更改电话协议处理程序](https://linux22.com/image/1503148/%E6%97%A0%E6%B3%95%E5%9C%A8%20Windows%2010%20%E4%B8%AD%E6%9B%B4%E6%94%B9%E7%94%B5%E8%AF%9D%E5%8D%8F%E8%AE%AE%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F.png)
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 时,以下协议的注册表设置将被覆盖:
- 电话
- 拨电至
- 啜
- 西普
- 我是
- 会议
发生这种情况时,您登录的应用程序将成为支持这些协议的默认应用程序。
解决方法
打开注册表编辑器。为此,请按照以下步骤操作:
- 在 Windows 8.0 或 Windows 8.1 中,按 Windows 功能键打开“开始”屏幕。如果您运行的是 Windows 7,请单击“开始”。
- 使用 Windows 搜索功能搜索 regedit.exe。
- 右键单击 regedit.exe,然后单击“以管理员身份运行”。
如果您已安装 Lync 2010 或 Office Communicator 2007 R2,请找到并右键单击以下注册表子项:
HKEY_CURRENT_USER\Software\Microsoft\Communicator
如果您已安装 Lync 2013,请找到并右键单击以下注册表子项:HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Lync
指向新的,然后点击DWORD(32 位)值。
键入
DisabledProtocolHandlerRegistrations
新注册表项的名称,然后按 Enter。在注册表中输入所需第三方应用程序的正确信息。例如,若要将支持 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,而是您的程序名称!!