這個方法主要思路是利用自定義URL Protocol來調用應用程序。瀏覽器在解析到自定義URL Protocol以後,會尋找註冊表,而後經過註冊表啓動相應的程序,而後啓動改程序,傳入參數。對於我這個項目而言,主要思路是利用這個自定義URL Protocol的方法,打開一個c#的應用程序,在這個程序中再調用系統命令,打開jar應用程序,並傳入參數。主要實現步驟以下:web
1.添加自定義URL Protocolshell
#####################################################################################c#
1.##Windows Registry Editor Version 5.00瀏覽器
2.##[HKEY_CLASSES_ROOT\Simu]工具
3.##"URL Protocol"="x:\\simu\\Simulink.exe"3d
4.##@="SimuProtocol"blog
5.##[HKEY_CLASSES_ROOT\Simu\DefaultIcon]文檔
6.##@="x:\\simu\\Simulink.exe,1"字符串
7.##[HKEY_CLASSES_ROOT\Simu\shell]it
8.##[HKEY_CLASSES_ROOT\Simu\shell\open]
9.##[HKEY_CLASSES_ROOT\Simu\shell\open\command]
10.##@="\"x:\\simu\\Simulink.exe\" \"%1\""
#####################################################################################
在#內的爲自定義URL Protocol的註冊表信息,我對每一行說明一下:第一行是註冊表工具的版本信息,能夠本身改一改,或者本身導入任意一個註冊信息,把這一行復制過來就好了;第二行中的Simu就是在HKEY_CLASSES_ROOT下面添加一個Simu樹,其中Simu的名稱就對應着自定義URL Protocol的名稱,在web中調用的時候須要這個名稱;第三行中的"x:\\simu\\Simulink.exe"是指定應用程序的路徑,注意只能是exe的程序;第四行是協議的名稱,能夠是任意字符串,後面不會用到;第五行表示在Simu中再加一個分支,照抄,不用管;第六行中的x:\\simu\\Simulink.exe也是對應的程序路徑,後面的1照抄;第七行同第五行;第八行同第五行;第九行同第五行;第十行也是將路徑換成本身的程序路徑便可,其中%1表示到參數,參數能夠在你的程序simulink.exe中解析獲得。分析畢。
將#之間的內容複製到一個txt文檔中,修改後綴名爲.reg,雙擊該文件便可直接導入到註冊表中。以下圖:
若是本機裝有QQ,也能夠從QQ的註冊表裏得實例。
3.在web中調用自定義協議啓動程序
調用協議很簡單,就是一個連接便可,以下所示:
<a href="Simu://hello">SIMU</a>
須要指出的是:在標題1中的第10行註冊表中代碼中的%1表示傳入參數,就是對應這此處的Simu://hello,解析以後就能夠獲得參數hello了。
效果以下圖所示:
(1)web頁面
(2)點擊以後
(3)點擊啓動程序