Nie można zmienić modułu obsługi protokołu tel w systemie Windows 10

5

Jak uruchomić niestandardowe polecenie dla tel:łączy w systemie Windows 10?

Próbuję otworzyć numery telefonów sformatowane jako linki dialer.exe. Udało mi się to zrobić z callto:linkami, dodając ścieżkę dialer.exedo HKCU\SOFTWARE\Classes\callto\shell\open\command (szczegóły tutaj) .

Nie działało to jednak w przypadku tel:linków. Ten post sugerował, że zamiast tego tel:należy skonfigurować linki HKCR\tel\shell\open\command, ale to też nie działało.

Próba skonfigurowania tel:łączy za pomocą Ustawień systemu Windows lub Panelu sterowania daje mi tylko opcje otwarcia ich w Chrome, Skype dla firm lub „Szukaj aplikacji w sklepie”. W Panelu sterowania próbowałem w Ustaw powiązania i Ustaw programy domyślne. W aplikacji Ustawienia próbowałem „Wybierz domyślne aplikacje według protokołu”.

Ten post sugeruje, że muszę usunąć Telklucz pod HKLM\SOFTWARE\Clients\StartMenuInternet\Google Chrome\Capabilities\URLAssociations\, ale wygląda na to, że Chrome usunął tylko z listy sugerowanych aplikacji, które pojawiają się, gdy próbuję otworzyć tel:link.

Ten post powiedział, że powinienem wyczyścić HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\tel\ProgId, ale to po prostu otwiera okno do wyboru między Skype a aplikacją Windows Store.

Browly
źródło
Ta edycja działa tutaj dobrze, z systemem Windows 10. voip - Jak powiązać telefon programowy z adresem URL telefonu - Błąd serwera . Czy możesz wyeksportować HKCR\telklucz rejestru i opublikować tutaj.
w32sh,
Jeśli zmienię wartość domyślną HKCR\tel\shell\open\commandna cokolwiek innego, a następnie kliknę link tel, system zmieni go z powrotem na "C:\Program Files (x86)\Microsoft Office\Root\Office16\Lync.exe" "%1". Może więc muszę odinstalować Skype dla firm.
browly
Możesz spróbować zastąpić użytkownika, tutaj:HKCU\Software\Classes\tel
w32sh
Aby uniknąć sytuacji, w której zunifikowani klienci komunikacyjni Microsoft, tacy jak Lync, staną się domyślną aplikacją dla tel: lub innych protokołów, zobacz aktualizację rejestru w tym artykule Microsoft na temat ustawiania DisabledProtocolHandlerRegistrations.
harrymc

Odpowiedzi:

5

Możesz to zapisać (powinieneś zmienić dialer %1na własną linię poleceń):

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"

jako .regplik i zaimportuj go do rejestru. To powinno dodać dialerdo listy programów do wyboru callto:i tel:protokołów.

PetSerAl
źródło
Zadziałało! Ostatni krok do dodania: wydaje się, że musisz ponownie uruchomić komputer, zanim dialerpojawi się na liście programów do wyboru. Najpierw wypróbowałem rozwiązanie Harrymca, co mogło pomóc powstrzymać Lync przed ingerencją; Nie jestem pewny.
browly
Znalazłem inne samouczki przy użyciu DefaultIconklucza. Wydaje się, że nic nie robi, a zamiast tego nazwa i ikona zostały zaczerpnięte z pliku wykonywalnego. Wszelkie pomysły, jak ustawić nazwę i ikonę aplikacji?
Qwerty,
Jeśli pytasz o sposób zastąpienia pozornie domyślnego zachowania pobierania nazwy aplikacji z wymienionego programu DefaultIcon, jedynym sposobem, jaki znam (i podejrzewam, że jest to jedyny okres), jest zmiana ikony programu za pomocą narzędzi edytora zasobów, takich jak angusj. com / resourcehacker . Zmiana nazwy aplikacji powinna być prosta - zmień nazwę pliku wykonywalnego i zmień zawartość, HKEY_CLASSES_ROOT\<protocol name>\DefaultIconaby dopasować.
user66001
Cześć, jak korzystać z tego pliku reg. Czego potrzebuję, aby zmienić „Dialer%” na dokładnie? Czy byłaby to ścieżka do pliku wykonywalnego w katalogu dialera? Czy coś jeszcze wymaga zmiany w powyższym kodzie przed zaimportowaniem go do rejestru?
Scott,
Chciałbym tylko otwierać numery telefonów za pomocą mojego telefonu programowego Horizon ...
Scott
2

Ten artykuł Microsoft może rozwiązać problem:
Lync 2013, Lync 2010 lub Office Communicator 2007 R2 staje się domyślną aplikacją do protokołów po zalogowaniu się użytkownika .

Podsumowanie

Podczas logowania do Microsoft Lync 2013, Microsoft Lync 2010 lub Microsoft Office Communicator 2007 R2 ustawienia rejestru dla następujących protokołów są zastępowane:

  • TEL
  • DZWONIĆ DO
  • łyk
  • SIPS
  • IM
  • CONF

Gdy to nastąpi, aplikacja, do której się zalogowałeś, stanie się aplikacją domyślną obsługującą te protokoły.

Obejście

  1. Otwórz Edytor rejestru. Aby to zrobić, wykonaj następujące kroki:

    • W systemie Windows 8.0 lub Windows 8.1 naciśnij klawisz funkcyjny Windows, aby otworzyć ekran Start. Jeśli używasz systemu Windows 7, kliknij przycisk Start.
    • Wyszukaj regedit.exe za pomocą funkcji wyszukiwania systemu Windows.
    • Kliknij prawym przyciskiem myszy regedit.exe, a następnie kliknij polecenie Uruchom jako administrator.
  2. Jeśli masz zainstalowany program Lync 2010 lub Office Communicator 2007 R2, zlokalizuj, a następnie kliknij prawym przyciskiem myszy następujący podklucz rejestru: HKEY_CURRENT_USER\Software\Microsoft\Communicator
    Jeśli masz zainstalowany program Lync 2013, zlokalizuj, a następnie kliknij prawym przyciskiem myszy następujący podklucz rejestru: HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Lync

  3. Wskaż polecenie Nowy , a następnie kliknij opcję Wartość DWORD (32-bitowa) .

  4. Wpisz DisabledProtocolHandlerRegistrationsjako nazwę nowego wpisu rejestru, a następnie naciśnij klawisz Enter.

  5. Wprowadź poprawne informacje o aplikacji innej firmy, którą chcesz zarejestrować w rejestrze. Na przykład, aby zmienić domyślną aplikację obsługującą SIP z Office Communicator 2007 R2 na żądaną aplikację innej firmy, wykonaj następujące kroki:

    • Zlokalizuj, a następnie kliknij następujący podklucz rejestru:
      HKEY_CURRENT_USER\Software\Classes\sip\shell\open\command
    • Kliknij dwukrotnie domyślny wpis rejestru. Następnie zmień wartość, aby odzwierciedlić aplikację, której chcesz używać zamiast klientów Microsoft UC.
      Uwaga: Wartość domyślna we wpisie rejestru wskazuje na klienta Microsoft UC.
    • Zapobiegaj przepisywaniu informacji o kliencie Microsoft UC do ustawienia rejestru zmienionego w kroku B. Aby to zrobić, dodaj jedną z następujących wartości do DisabledProtocolHandlerRegistrations wpisu rejestru:

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

Notatki

  • Możesz zsumować wartości z listy, jeśli chcesz, aby klient Microsoft UC nie był domyślną aplikacją dla wielu protokołów. Na przykład, aby klient Microsoft UC nie był domyślną aplikacją dla SIP, wpisz 0x0004. Aby zapobiec, aby klient Microsoft UC był domyślną aplikacją dla CALLTO, wpisz 0x0002. Aby klient Microsoft UC nie był domyślną aplikacją dla SIP i CALLTO, wpisz 0x0006. Aby uniemożliwić, aby klient Microsoft UC był domyślną aplikacją dla wszystkich protokołów, wpisz 3f.
  • Wartości we DisabledProtocolHandlerRegistrationswpisie rejestru będą niedostępne, jeśli zostaną zmienione podczas logowania do klienta Microsoft UC.
harrymc
źródło
Próbowałem tego, a teraz HKCR\tel\shell\open\commandi HKCU\Software\Classes\sip\shell\open\command' don't change back to Lync when I click a tel: `link, ale nadal otwiera Lync (Skype) zamiast programu, który określiłem.
browly
Powinieneś usunąć DisabledProtocolHandlerRegistrations, a następnie sprawdzić, czy poprawka z zaakceptowanej odpowiedzi nadal działa.
harrymc
Dobry pomysł. Usunąłem DisabledProtocolHandlerRegistrations; następnie uruchomiłem Skype dla firm i nie ukradłem powiązania protokołu, więc wydaje się, że odpowiedź PetSerAl jest wystarczająca bez DisabledProtocolHandlerRegistrationswłączenia.
browly
Dzięki. Może się tak zdarzyć, że zrobi to inna aplikacja. Jeśli kradzież protokołu powtórzy się, zostaw mi notatkę tutaj.
harrymc
0

Najprostszym sposobem jest otwarcie rejestru - HKEY_LOCAL_MACHINE \ SOFTWARE \ Clients \ StartMenuInternet \ Google Chrome \ Capabilities \ URLAssociations , a następnie znajdź tel i zmień znaczenie z ChromeHTML na nazwę swojego programu, i DZIAŁA !! Kiedy klikniesz na typy „tel: xxx-xx-xx” w Chrome, zamiast Chrome, pojawi się nazwa twojego programu !!

Munn
źródło
Jak to jest lepsze niż zaakceptowana odpowiedź?
Toto
Ponieważ po zmianie HKCU \ Software \ Classes \ tel - to nie zmienia programu i tak naprawdę nic nie robi, spróbuj zrobić to najpierw, zanim zadasz pytanie!
Munn