Не удается изменить обработчик протокола Tel в Windows 10

18276
browly

Как запустить пользовательскую команду для tel:ссылок в Windows 10?

Я пытаюсь открыть номера телефонов, отформатированные как ссылки dialer.exe. Я смог сделать это успешно с помощью callto:ссылок, добавив путь dialer.exeк HKCU\SOFTWARE\Classes\callto\shell\open\command (подробности здесь) .

Тем не менее, это не работает для tel:ссылок. В этом посте предлагалось tel:настроить ссылки HKCR\tel\shell\open\command, но это тоже не сработало.

Попытка настроить tel:ссылки с помощью параметров Windows или панели управления дает мне возможность открывать их только в Chrome, Skype для бизнеса или «Найти приложение в магазине». В панели управления я попытался установить группы и установить программы по умолчанию. В приложении «Настройки» я попробовал «Выбрать приложения по умолчанию по протоколу».

Этот пост предполагает, что мне нужно удалить Telключ в разделе HKLM\SOFTWARE\Clients\StartMenuInternet\Google Chrome\Capabilities\URLAssociations\, но похоже, что только Chrome удалил из списка предлагаемых приложений, который появляется, когда я пытаюсь открыть tel:ссылку.

В этом посте говорилось, что я должен очистить HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\tel\ProgId, но это просто вызывает окно, чтобы снова выбрать между Skype и приложением Windows Store.

5
Это редактирование отлично работает здесь, под управлением Windows 10. [voip - Как связать программный телефон с URL-адресом телефона - Ошибка сервера] (http://serverfault.com/questions/356035/how-to-associate-a-softphone-with -a-телефон-адрес / 356061 # 356061). Можете ли вы экспортировать ключ реестра `HKCR \ tel` и опубликовать здесь. Win32Guy 7 лет назад 0
Если я изменю значение по умолчанию `HKCR \ tel \ shell \ open \ command` на любое другое, а затем нажму на телефонную ссылку, система изменит его обратно на` "C: \ Program Files (x86) \ Microsoft Office \ Root \ Office16 \ Lync.exe ""% 1 "`. Поэтому, возможно, мне нужно удалить Skype для бизнеса. browly 7 лет назад 0
Вы можете попробовать переопределение для каждого пользователя здесь: `HKCU \ Software \ Classes \ tel` Win32Guy 7 лет назад 0
Чтобы избежать того, что клиенты унифицированных коммуникаций Microsoft, такие как Lync, станут приложением по умолчанию для * tel: * или других протоколов, см. Обновление реестра в этой [статье Microsoft] (https://support.microsoft.com/en-us/kb / 2995505) для установки `DisabledProtocolHandlerRegistrations`. harrymc 7 лет назад 0

3 ответа на вопрос

5
PetSerAl

Вы можете сохранить это (вы должны перейти 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:протоколы.

Это сработало! Еще один шаг, который нужно добавить: похоже, вам нужно перезагрузиться, прежде чем `dialer` появится в списке программ на выбор. Сначала я попробовал решение Harrymc, и это, возможно, помогло предотвратить вмешательство Lync; Я не уверен. browly 7 лет назад 0
Я нашел другие учебники, используя ключ `DefaultIcon`. Похоже, он ничего не делал, и вместо этого имя и значок были взяты из исполняемого файла. Есть идеи, как установить имя и значок приложения? Qwerty 7 лет назад 0
Если вы запрашиваете способ перезаписать, по-видимому, поведение по умолчанию при получении имени приложения из программы, указанной в списке DefaultIcon, единственный известный мне способ (и я подозреваю, что единственный путь) будет изменить значок программы с помощью инструментов редактора ресурсов, таких как http: //www.angusj.com/resourcehacker/. Простое изменение имени приложения должно быть простым - переименуйте исполняемый файл и измените содержимое `HKEY_CLASSES_ROOT \\ DefaultIcon`, чтобы соответствовать. user66001 6 лет назад 0
Привет, как мне использовать этот reg файл, что мне нужно, чтобы изменить "dialer%" на точно? Будет ли это путь к исполняемому файлу в директории номеронабирателя? Нужно ли что-то еще менять в приведенном выше коде перед импортом в реестр? Scott 6 лет назад 0
Я просто хотел бы открыть телефонные номера с моим программным телефоном горизонта ... Scott 6 лет назад 0
@Scott Первое, что вы должны выяснить, это если ваш софтфон поддерживает аргументы командной строки. Затем вы заменяете `dialer% 1` на соответствующую командную строку для вашей программы программного телефона. Вы также можете заменить `dialer.callto` и` Dialer \ Capabilities` на что-то другое, при условии, что вы правильно замените его во всех частях `.reg`. PetSerAl 6 лет назад 0
2
harrymc

Эта статья Microsoft может решить проблему:
Lync 2013, Lync 2010 или Office Communicator 2007 R2 становятся приложением по умолчанию для протоколов после входа пользователя .

Резюме

При входе в Microsoft Lync 2013, Microsoft Lync 2010 или Microsoft Office Communicator 2007 R2 параметры реестра для следующих протоколов перезаписываются:

  • TEL
  • ПОЗВОНИТЬ
  • ГЛОТОК
  • SIPS
  • Я
  • CONF

Когда это происходит, приложение, в которое вы вошли, становится приложением по умолчанию, которое поддерживает эти протоколы.

Временное решение

  1. Откройте редактор реестра. Для этого выполните следующие действия:

    • В Windows 8.0 или Windows 8.1 нажмите функциональную клавишу Windows, чтобы открыть начальный экран. Если вы работаете в Windows 7, нажмите Пуск.
    • Выполните поиск файла regedit.exe с помощью функции поиска Windows.
    • Щелкните правой кнопкой мыши файл 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в качестве имени новой записи реестра и нажмите клавишу ВВОД.

  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.
Я попробовал это, и теперь `HKCR \ tel \ shell \ open \ command` и` HKCU \ Software \ Classes \ sip \ shell \ open \ command 'не меняются обратно на Lync, когда я нажимаю ссылку `tel:`, но он по-прежнему открывает Lync (Skype) вместо программы, которую я указал. browly 7 лет назад 0
Вы должны удалить `DisabledProtocolHandlerRegistrations`, а затем посмотреть, продолжает ли исправление из принятого вами ответа работать. harrymc 7 лет назад 0
Отличная идея. Я удалил `DisabledProtocolHandlerRegistrations`; затем я запустил Skype для бизнеса и не украл сопоставление протоколов, поэтому кажется, что ответ PetSerAl является достаточным без включения «DisabledProtocolHandlerRegistrations». browly 7 лет назад 0
Благодарю. Возможно, это сделано другим приложением. Если кража протокола произойдет снова, пожалуйста, оставьте мне записку здесь. harrymc 7 лет назад 0
0
Munn

Самый простой способ - открыть реестр - HKEY_LOCAL_MACHINE \ SOFTWARE \ Clients \ StartMenuInternet \ Google Chrome \ Capabilities \ URLAssociations, затем найти тел и изменить значение из ChromeHTML на имя вашей программы, и оно РАБОТАЕТ !! Когда вы нажимаете на типы "tel: xxx-xx-xx" в Chrome, вместо Chrome, появляется имя вашей программы !!

Как это лучше, чем принятый ответ? Toto 6 лет назад 0
Потому что когда вы меняете HKCU \ Software \ Classes \ tel - он не меняет программу и фактически ничего не делает, попробуйте сначала сделать это, прежде чем задавать вопрос! Munn 6 лет назад 0

Похожие вопросы