2016-07-05 2 views
0

J'ai construit ce script que je partage avec vous ici qui a parfaitement fonctionné sur mon ordinateur Windows 7 pour dail un tél: -link dans une page Web avec mon téléphone VoIP Yealink. Avec le 'reg-file' que vous voyez dans le commentaire, j'ai activé le lien de télé-lien de mon script. Mais maintenant, dans Windows 10, je ne peux plus le faire fonctionner! Quelqu'un peut-il m'aider à "relier" le "tel lien" d'un navigateur à mon script sous Windows 10?enregistrer téléphone personnalisé/callto app dans Windows 10

/* 
test usage: cscript Z:\tel_link_open\tel.js [phone number] 

create register_me.reg with: 
REGEDIT4 

[HKEY_CLASSES_ROOT\tel] 
@="URL:knoop.frl Custom Telephone Protocol for VoIP phone" 
"URL Protocol"="" 

[HKEY_CLASSES_ROOT\tel\shell] 

[HKEY_CLASSES_ROOT\tel\shell\open] 

[HKEY_CLASSES_ROOT\tel\shell\open\command] 
@="cscript \"Z:\\tel_link_open\\tel.js\" -c \"\\%1\"" 

*/ 

var call_number = WScript.Arguments(0); 
call_number = call_number.replace(/\|.+/g,''); 
//         spatie -. 
call_number = call_number.replace(/(\\tel:|%20|\(|\)|[a-z:\\ -]+)/g,''); 
//         +  31  ( 0 ) 
call_number = call_number.replace(/(\+|%2b)([0-9]+)(\(|%28)0(\)|%29)/ig,'00$2'); 
call_number = call_number.replace(/^0031/ig,'0'); 

WScript.Echo("\n\nGoing to dail: " + call_number + "\n\n"); 

//WScript.Sleep(50000000); 

var outgoing_uri = "31"+"513"+"[number]"+"[internal extension]"; 
var login_name = "XXX"; 
var login_pass = "yyy"; 
var get_url  = "http://192.168.xx.yy/servlet?number=" + call_number + "&outgoing_uri=" + outgoing_uri; 

// Load the WinHttpRequest object. 
var WinHttpReq = new ActiveXObject("WinHttp.WinHttpRequest.5.1"); 

// HttpRequest SetCredentials flags 
HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0; 

// Specify the target resource. 
WinHttpReq.open("GET", 
           get_url, 
           false); 

if (login_name.length) { // Set credentials for server. 
    WinHttpReq.SetCredentials(login_name, 
                 login_pass, 
                 HTTPREQUEST_SETCREDENTIALS_FOR_SERVER); 
} 

// It might also be necessary to supply credentials 
// to the proxy if you connect to the Internet 
// through a proxy that requires authentication. 

// Send a request to the server and wait for 
// a response. 
WinHttpReq.send(); 

// Display the results of the request. 
WScript.Echo("Result status: " + WinHttpReq.Status + " " + WinHttpReq.StatusText + "\n"); 
WScript.Echo(WinHttpReq.GetAllResponseHeaders()); 

/* To save a binary file use this code instead of previous line 
BinStream = new ActiveXObject("ADODB.Stream"); 
BinStream.Type = 1; 
BinStream.Open(); 
BinStream.Write(WinHttpReq.ResponseBody); 
BinStream.SaveToFile("out.bin"); 
*/ 

Répondre

0

Je pense que vous pouvez trouver une solution à MSDN Microsoft:

* Enregistrement de l'application Manipulation de l'URI personnalisé Schéma Pour enregistrer une application pour gérer un schéma d'URI particulier, ajoutez une nouvelle clé, ainsi les sous-clés et valeurs appropriées, à HKEY_CLASSES_ROOT. La clé racine doit correspondre au schéma d'URI ajouté. Par exemple, pour ajouter un système, ajouter une clé HKEY_CLASSES_ROOT, comme suit [Nom Protocole]:

HKEY_CLASSES_ROOT
[Nom Protocole]
Protocole URL = ""

En vertu de cette nouvelle clé, l'URL La valeur de chaîne de protocole indique que cette clé déclare un gestionnaire de protocole pluggable personnalisé. Sans cette clé, l'application du gestionnaire ne sera pas lancée. La valeur doit être une chaîne vide.
...
Lorsqu'un utilisateur clique sur un lien contenant votre schéma d'URI personnalisé, Windows Internet Explorer lance le gestionnaire de protocole enfichable enregistré pour ce schéma d'URI. Si la commande d'ouverture spécifiée spécifié dans le Registre contient un paramètre% 1, Internet Explorer passe l'URI à l'application de gestionnaire de protocole connectable enregistré. *

plus de détails, voir sous

Registering an Application to a URI Scheme

Cela fonctionne pour tel-URI, mais callto-URI est quelque part enregistré par Skype. Vous devez rechercher dans le registre pour cela et ajouter votre application là-bas.

+0

Bienvenue dans Stack Overflow! Bien que cela puisse théoriquement répondre à la question, [il serait préférable] (// meta.stackoverflow.com/q/8259) d'inclure les parties essentielles de la réponse ici, et de fournir le lien pour référence. – Takarii