本文介紹了從網(wǎng)頁鏈接打開客戶端的桌面應(yīng)用程序的處理方法,對大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
是否可以從Web啟動(dòng)客戶端桌面應(yīng)用程序,如Adobe Reader、任何游戲或任何其他軟件?
我有一個(gè)鏈接How to launch an EXE from Web page (asp.net)
其中一人讓位于使用Java腳本打開記事本(桌面應(yīng)用程序),該腳本僅限于IE。
以類似方式,我想在我的網(wǎng)頁上創(chuàng)建這樣的鏈接,以便如果用戶點(diǎn)擊像
例如,如果用戶單擊鏈接”Adobe Reader“,則應(yīng)打開/啟動(dòng)Adobe應(yīng)用程序。
有沒有辦法從Web打開任何桌面應(yīng)用程序?
我遇到了簽名小程序的概念,我們將從網(wǎng)頁中調(diào)用簽名小程序,即使用標(biāo)簽
我們將稱為桌面應(yīng)用程序的小程序。
通過Applet的方式,我創(chuàng)建了一個(gè)簽名的Applet,&;我可以通過在Applet中直接提供如下路徑來打開記事本應(yīng)用程序:
Process process = new ProcessBuilder("C:\Windows\notepad.exe").start();
但我如何才能以通用方式完成此操作,這意味著可以在系統(tǒng)中的任何位置安裝記事本應(yīng)用程序或任何其他軟件。
所以我們不知道應(yīng)用程序的安裝路徑,那么有沒有方法可以像這樣提供服務(wù)名稱來將它們作為服務(wù)啟動(dòng)??
Process process = new ProcessBuilder("notepad.exe").start();
推薦答案
我通過將目標(biāo)應(yīng)用程序注冊為協(xié)議處理程序來處理此問題,協(xié)議處理程序可以是目標(biāo)應(yīng)用程序本身,也可以是保證安裝在客戶端計(jì)算機(jī)上的委托應(yīng)用程序。
然后使用表單中的鏈接:myapp://someaction/arg0/arg1
然后myapp://omeaction/arg0/arg1將作為命令行參數(shù)傳遞給您的應(yīng)用程序,然后您可以分析并執(zhí)行相應(yīng)的操作。
這里有一篇關(guān)于如何實(shí)現(xiàn)這一點(diǎn)的MSDN文章:http://msdn.microsoft.com/en-us/library/ie/aa767914(v=vs.85).aspx
因此,在您的情況下,您可以:
創(chuàng)建一個(gè)腳本/注冊表項(xiàng)來注冊目標(biāo)應(yīng)用程序的協(xié)議,并讓客戶端下載并安裝它。然后,您可以使用例如myapp://Reader/從網(wǎng)頁添加Can啟動(dòng)
創(chuàng)建一個(gè)應(yīng)用程序(處理程序)并讓客戶端安裝它,然后處理程序?qū)腢RL獲取目標(biāo)應(yīng)用程序,例如
Myapp://Reader/Document或僅myapp://Reader在客戶端計(jì)算機(jī)上打開”Adobe Reader”。
如果要根據(jù)URL中指定的參數(shù)執(zhí)行更多操作,則第二種方法特別有用。
這篇關(guān)于從網(wǎng)頁鏈接打開客戶端的桌面應(yīng)用程序的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,