問題答案..我已經編輯了這個問題的工作解決方案。通過PowerShell腳本定製協議處理程序
這是scenerio。 安裝了Jitsi VOIP軟件的Windows 10工作站。 我爲SIP協議處理程序:這個註冊表項..
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\sip]
@="URL: SIP Protocol handler"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\sip\DefaultIcon]
@="C:\\Program Files (x86)\\Jitsi\\sc-logo.ico"
[HKEY_CLASSES_ROOT\sip\shell]
[HKEY_CLASSES_ROOT\sip\shell\open]
[HKEY_CLASSES_ROOT\sip\shell\open\command]
@="\"C:\\Program Files (x86)\\Jitsi\\Jitsi.exe\" %1"
這部分工作。輸入sip:1234567890
作爲運行命令撥打該號碼。
我想要做的是創建一個名爲CHK的新協議:對本地網絡服務器執行http請求,如果網絡服務器 以0響應,則撥打該號碼。如果響應是1,顯示消息「這個數字不能撥打」
這裏是註冊表項我爲這個新的CHK協議
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\chk]
@="URL: CHK Protocol handler"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\chk\DefaultIcon]
@="C:\\Program Files (x86)\\Jitsi\\sc-logo.ico"
[HKEY_CLASSES_ROOT\chk\shell]
[HKEY_CLASSES_ROOT\chk\shell\open]
[HKEY_CLASSES_ROOT\chk\shell\open\command]
@="\"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\"
-File C:\\DNC\\dnc.ps1 %1"
即使這幾乎等同於SIP REG由入門,當我嘗試運行chk:1234567890
我得到一個錯誤「Apllication找不到」,所以 東西是不正確的開放命令....
編輯:我是對的,這是開放命令..我有在錯誤的地方報價
和dnc.ps1腳本的內容...
$w=$args[0]
$chprot,$num = $w.split(':',2)
$url = "http://server/numchk.php?ph=$num"
$webclient = New-Object System.Net.WebClient
$webpage = $webclient.DownloadString($url)
if ($webpage -match "0"){
$launch = "C:\Program Files (x86)\Jitsi\Jitsi.exe"
$prot = 'sip:'
$arguments = $prot + $num
start-process $launch $arguments
} Else {
$wshell = New-Object -ComObject Wscript.Shell
$wshell.Popup("CANT DIAL $num ",0,"",0x0)
}
如果我運行通過運行命令的PowerShell腳本-noexit - 文件C:\ DNC \ dnc.ps1 CHK:1234567890
我可以看到腳本是做正確的事,撥號號碼,如果反應是零,如果響應爲1
再次出現無法撥號消息。我認爲這個問題是與註冊表項... specifilly命令/部分開放...
[HKEY_CLASSES_ROOT\chk\shell\open\command]
@="\"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -File C:\\DNC\\dnc.ps1\" %1"
一些伎倆p我想失去一個參數:
BINGO!就是這樣。謝謝 ! ! ! ! –