Eine Änderung die mit aktuelleren Versionen der Desktop App für 3CX V20 einherging war, das man keinen Hotkey für das Wählen einer Rufnummer aus der Zwischenablage mehr definieren kann.

Als dieser Workaround und folglich der Beitrag entstand gab es noch nicht wieder die Möglichkeit, den besagten Hotkey definieren zu können. Mit der Version 20.0.664.0 (ab 26.11.2024) der 3CX-App aus dem Microsoft Store hat sich das geändert. Siehe 3CX – Blog – Finale Version: Vereinfachtes Anruf- und Kontaktmanagement mit 3CX Windows Softphone

Auch wenn die nachfolgenden Zeilen durch das Update obsolet geworden sind, so war die Entwicklung des Workarounds durchaus lehrreich, was das Definieren von Hotkeys in AutoIt betroffen hat (siehe die Kommentare im Quellcode). Daher ist der Beitrag veröffentlicht worden. Und nun geht’s los:

In der Desktop App bis V18 war dies noch möglich, ist allerdings mit der Microsoft Store App laut Angabe aus dem Forum wegen Richtlinien seitens der Redmonder so nicht erlaubt:

3CX – Forums – 3CX Hotkeys – Press F11 to ‘Copy number from clipboard’ not available on Windows Store App?

Grundsätzlich kann man nach wie vor per “Kopieren & Einfügen” Rufnummern aus der Zwischenablage über die 3CX Desktop App anrufen. Damit das klappt, muss die App auf der Tastatur (Dialer) stehen. Um gewissermaßen diese Einzelschritte zu automatisieren und vor allem den gewohnten Hotkey wieder zu haben hilft folgendes kleines AutoIt-Skript, das kompiliert zu einer ausführbaren *.exe-Datei im Hintergrund seinen Dienst verrichtet:

; Das AutoIt Tray Icon ausblenden

 #NoTrayIcon
 
; Den HotKey "strg+w" definieren

 HotKeySet ("^w", "CallClipboardNumber")
  
; Schleife

 While 1
  Sleep (100)
 WEnd

; Die Funktion definieren

 Func CallClipboardNumber()
  
 ; "strg+c" für das Kopieren der aktuellen Markierung in die Zwischenablage senden

 ; Send ("^C") ; Sendet zwar ein "strg+c", aber anschließend hängt "strg" fest. Siehe https://www.autoitscript.com/wiki/FAQ#Why_does_the_Ctrl_key_get_stuck_down_after_I_run_my_script.3F
  Send("{CTRLDOWN}")
  Send("c")
  Send("{CTRLUP}")

 ; Den Inhalt der Zwischenablage in den Dialer der 3CX Desktop App einfügen

  ; "strg+3" an die 3CX Desktop App senden, um den Dialer (Tastatur) zu öffnen. Dieser Hotkey muss in der App für "Dialer öffnen" konfiguriert sein!
  ; Send ("^3") ; Sendet zwar ein "strg+3", aber anschließend hängt "strg" fest. Siehe https://www.autoitscript.com/wiki/FAQ#Why_does_the_Ctrl_key_get_stuck_down_after_I_run_my_script.3F
  Send("{CTRLDOWN}")
  Send("3")
  Send("{CTRLUP}")
  Send (ClipGet()) ; Den Inhalt der Zwischenablage einfügen.
  Send ("{ENTER}") ; Den Anruf auslösen.
  ClipPut("") ; Zwischenablage leeren
EndFunc

Kurzanleitung: Man markiert irgendwo eine Rufnummer und drückt “Strg + W” um diese anzurufen.

Bei einem Kunden, der die obige Funktion sehr vermisst hatte, sind folgende Hotkeys festgelegt:

  • Dialer öffnen: Control + 3 (Strg + 3)
  • Anruf annehmen: Control + A (Strg + A)
  • Angekündigt vermitteln: Control + T (Strg + T)
  • Halten/Fortsetzen: Control + H (Strg + H)

Die hier gezeigten Hotkeys sind, wie bereits erwähnt, Kunden-spezifisch. Verwendet man andere Tasten-Kombinationen muss man das Skript anpassen und neu kompilieren.

Sofern ausreichend Interesse besteht (einfach per Kommentar melden) baue ich gerne das Skript bzw. daraus resultierende Tool weiter aus. Denkbar ist zum Beispiel eine Konfigurationsmöglichkeit via *.ini-Datei, eine Prüfung der kopierten Rufnummer (sind es überhaupt Zahlen, darf nur ein Plus und Klammern enthalten), usw.