[轉]從網頁Web上調用本地應用程序(.jar、.exe)的主流處理方法

這個方法主要思路是利用自定義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)點擊啓動程序

相關文章
相關標籤/搜索