無法變更 Windows 10 中的電話協議處理程序

無法變更 Windows 10 中的電話協議處理程序

tel:如何在 Windows 10 中執行連結的自訂命令?

我正在嘗試打開格式為連結的電話號碼dialer.exe。透過添加到的callto:路徑,我能夠透過連結成功完成此操作dialer.exeHKCU\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 時,下列協定的登錄設定將會被覆寫:

  • 電話
  • 撥電至
  • SIPS
  • 我是
  • 會議

發生這種情況時,您登入的應用程式將成為支援這些協定的預設應用程式。

解決方法

  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\Clients\StartMenuInternet\Google Chrome\Capability\URLAssociations,然後找到電話並將含義更改為ChromeHTML到你的程式的名稱,它可以工作!當您在 Chrome 中按一下類型「tel:xxx-xx-xx」時,而不是 Chrome 中,會顯示您的程式名稱!

相關內容