Johnny hat geschrieben:
Leider, leider den Auto-hotkey nicht hier im Forum gefunden
Grüsse aus Kiel
Johnny
Hier der Hotkey-Dialer:
Code: Alles auswählen
^<::
clip := clipboard
Send ^c
ClipWait,1
If clip != clipboard
{
number := clipboard
}
string_contains_digits := RegExMatch(number, "\d")
if string_contains_digits = 0
{
error:= "no_digits"
}
else
{
StringReplace, number, number, %A_Space%, ,All
found_plus_at_position := InStr(number, "+")
if found_plus_at_position = 1
{
number := RegExReplace(number, "\D", "", 0, -1, 2)
string_length := StrLen(number)
if string_length < 10
{
error := "too_short"
}
else
{
StringReplace, number, number, +, 00
is_german_country_code := InStr(number, "0049")
if is_german_country_code = 1
{
StringReplace, number, number, 0049, 0
}
}
}
else
{
number := RegExReplace(number, "\D", "")
string_length := StrLen(number)
if string_length < 3
{
error := "too_short"
}
}
}
if error = no_digits
{
MsgBox FEHLER`n`nDies ist keine Telefonnummer.`n(Zeichenfolge enthält keine Ziffern)`n`nÜbergebene Zeichenfolge:`n%number%
error :=
}
else
{
if error = too_short
{
MsgBox FEHLER`n`nDies ist keine Telefonnummer.`n(Zeichenfolge zu kurz)`n`nÜbergebene Zeichenfolge:`n%number%
error :=
}
else
{
IniRead, wts, hotkey_dialer.ini, general, wts
if wts = 1
{
EnvGet, client, CLIENTNAME
IniRead, phone_ip, hotkey_dialer.ini, nst-ip, %client%, not_available
}
else
{
EnvGet, client, COMPUTERNAME
IniRead, phone_ip, hotkey_dialer.ini, nst-ip, %client%, not_available
}
if phone_ip = not_available
{
MsgBox Dieser Arbeitsstation ist kein `nanwahlfähiges IP-Telefon zugeordnet.`n`nMarkierte Nummer: %number%`n`nRechnername: %host%`n`nClient: %client%
}
else
{
IniRead, default_type, hotkey_dialer.ini, phone, default_type
IniRead, user, hotkey_dialer.ini, phone, user
IniRead, pass, hotkey_dialer.ini, phone, pass
IniRead, type, hotkey_dialer.ini, nst-type, %client%, %default_type%
IniRead, command, hotkey_dialer.ini, command, run
if type = yealink
{
Run %command% http://%user%:%pass%@%phone_ip%/servlet?number=%number%
}
if type = grandstream
{
}
}
}
}
return
Und dazu eine passendeINi-Datei:
Code: Alles auswählen
[general]
wts=1
[command]
run="C:\Program Files (x86)\GnuWin32\bin\wget.exe" -q --spider
run2="C:\Program Files (x86)\PhonerLite\PhonerLite.exe callto:"
[nst-ip]
TC-BO=192.168.100.15
AN1=192.168.100.10
SP1=192.168.100.11
TC-SP2=192.168.100.12
THER2=192.168.100.13
LAB=192.168.100.14
[phone]
default_type=yealink
user=admin
pass=xxyyzzaa
[nst-type]
Daa Ganze ist momentan für den Einsatz mit Yeaalink-Telefonen und Anwahl per URL ausgelegt.Schlußendlich wird aber nur eien Zeichenfolge in dii Zwischenablage kopiert, nachbearbeitet (Leer-, Sonderzeichen und Buchstaben entfernt) geprüft un dann an einen (grundsätzlich frei definierbaren) Wahlbefehl übergeben. Im konkreten Fall wird auf einem Terminalserver (daher in der INI-Datei wts=1 ) mit Hilfe von wget die entsprechende Anwahl-Url eines Yealink-Telefons aufgerufen. Nicht unbedingt super-elegant aber es funktioniert.
Will man z.B. "nur" ein CAPI- oder TAPI-fähiges Programm wie Phoner ansprechen, können quasi alle INI-Abfragen entfallen.