用網頁調用本地應用程序的思路是,先進行注冊表注冊自定義一個URL Protocol協議,再利用URL Protocol實現網頁調用本地應用程序。
1.先寫一個注冊表文件,將其保存為.reg后綴的注冊表執行文件:
1 Windows Registry Editor Version 5.00 2 [HKEY_CLASSES_ROOT\PWFileVersion] 3 "URL Protocol"="C:\\Program Files (x86)\\PWFileVersion\\FileVersion.exe" 4 @="FileVersionProtocol" 5 [HKEY_CLASSES_ROOT\PWFileVersion\DefaultIcon] 6 @="C:\\Program Files (x86)\\PWFileVersion\\FileVersion.exe,1" 7 [HKEY_CLASSES_ROOT\PWFileVersion\shell] 8 [HKEY_CLASSES_ROOT\PWFileVersion\shell\open] 9 [HKEY_CLASSES_ROOT\PWFileVersion\shell\open\command] 10 @="\"C:\\Program Files (x86)\\PWFileVersion\\FileVersion.exe\" \"%1\""
一行行來解釋:
(1)表示注冊表工具的版本信息;
(2)PWFileVersion表示的時注冊表的HKEY_CLASSES_ROOT下新增一個PWFileVersion樹(理解為在HKEY_CLASSES_ROOT下新增一個文件夾就可以了)
(3)你在網頁中要調用打開的程序絕對路徑,記得一定要是exe文件
(4)協議名稱,可以是任意字符串,后面不會用到
(5)在PWFileVersion下新增一個分支,不用管
(6)地址和(3)中保持一致,1照抄
(7)(8)(9)和(5)一樣,新增分支而已
(10)向要調用的程序內傳遞參數。前面的地址與(3)保持一致,后面的%1表示參數。敲黑板,這里面的/千萬不要有所遺漏!本人在這個坑上蹲了很久- -;
運行reg文件,進行注冊表注冊。
這時候在瀏覽器輸入:
pwfileversion://即可調用該程序
pwfileversion://argument隨便什么字符串,即可將參數傳入該程序
參考:
從網頁Web上調用本地應用程序(.jar、.exe)的主流處理方法
