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


這個方法主要思路是利用自定義URL Protocol來調用應用程序。瀏覽器在解析到自定義URL Protocol之后,會尋找注冊表,然后通過注冊表啟動相應的程序,然后啟動改程序,傳入參數。對於我這個項目而言,主要思路是利用這個自定義URL Protocol的方法,打開一個c#的應用程序,在這個程序中再調用系統命令,打開jar應用程序,並傳入參數。主要實現步驟如下:

1.添加自定義URL Protocol

#####################################################################################

1.##Windows Registry Editor Version 5.00

2.##[HKEY_CLASSES_ROOT\Simu]

3.##"URL Protocol"="x:\\simu\\Simulink.exe"

4.##@="SimuProtocol"

5.##[HKEY_CLASSES_ROOT\Simu\DefaultIcon]

6.##@="x:\\simu\\Simulink.exe,1"

7.##[HKEY_CLASSES_ROOT\Simu\shell]

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)點擊啟動程序

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM