時,我們希望實現(xiàn)這樣一個特性:單擊HTML頁面上的鏈接將調(diào)用本地可執(zhí)行文件。像騰訊QQ、迅雷這類。
實現(xiàn)此功能也非常簡單,這需要我們添加和修改注冊表來實現(xiàn)自定義URL協(xié)議協(xié)議。
自定義URL Protocol 協(xié)議
一些應(yīng)用軟件可以在瀏覽器中點擊一個url后自動啟動,并執(zhí)行操作。
1. win+r打開注冊表,輸入regedit進(jìn)入注冊表
2. 在注冊表 左邊最上面HKEY_CLASSES_ROOT那個樹右鍵新建——項。該項的名稱自己命名,其實該名稱也是協(xié)議的名稱,我們調(diào)用的時候就是根據(jù)該協(xié)議調(diào)用的,而我這里隨便起了一個:ZZO。
3. 然后在該項中右鍵->新建->字符串值,創(chuàng)建一個URL Protocol的值,其中數(shù)據(jù)默認(rèn)為空。
4. 然后在ZZO下新建->項,名字為DefaultIcon
5. 在ZZO下新建->項,名稱為shell。并在shell下新建名為open的項。然后在open下新建名為command的項
6. 然后分別修改DefaultIcon 和 command 的值為要調(diào)用的程序完整路徑.
比如我這里要調(diào)用的是QQ,完整路徑為:D:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe
7. 然后我們在html頁面添加一個a標(biāo)簽
<a href="Zzo://">open</a>
8. 點擊頁面按鈕
通過網(wǎng)站調(diào)用可執(zhí)行程序,主要是修改注冊表,注冊 URL Protocol 協(xié)議。
注意上面 command 項的值可以為 C:\Program Files (x86)\Qiaoker\updater.exe "%1" ,這個"%1"是傳遞給 updater.exe的參數(shù)。
加了后使用是我們就可以傳參數(shù)了,
<a href="Uaiqiy://cid:110&username:mjq">
方式二:使用js調(diào)起客戶端
除了上面那種方式,我們還可以通過調(diào)用js函數(shù)實現(xiàn)客戶端exe程序的調(diào)用,但是這種方式局限性很大,目前只支持IE瀏覽器。
代碼如下:
function execProgram() {
var exepath = "D:\Program Files (x86)\Tencent\QQMusic\QQMusic.exe"
var ws = new ActiveXObject("WScript.Shell");
ws.Exec(exepath);
}
信大家在使用一些軟件的時候會發(fā)現(xiàn),只要點擊了它們的一些網(wǎng)頁廣告就會運行一些推廣軟件或者是官方軟件。它們是怎么實現(xiàn)的呢?其實方法很簡單,聽來群網(wǎng)慢慢道來。
下面鏈接是微軟MSDN上的說明,為了大家易懂,所以在這里分享給大家:http://msdn.microsoft.com/en-us/library/aa767914%28v=vs.85%29.aspx
當(dāng)然,或許還有更復(fù)雜的方法,小編只舉一個簡單的例子。
此方法分兩部份:1. 注冊表代碼部份; 2. HTML代碼部份
1.注冊表代碼:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\laiqun] @="laiqun Protocol" "URL Protocol"="" [HKEY_CLASSES_ROOT\laiqun\DefaultIcon] @="C:\\WINDOWS\\NOTEPAD.EXE" [HKEY_CLASSES_ROOT\>laiqun\shell] @="" [HKEY_CLASSES_ROOT\laiqun\shell\open] @="" [HKEY_CLASSES_ROOT\laiqun\shell\open\command] @="\"C:\\WINDOWS\\NOTEPAD.EXE\" "
注釋:laiqun代表鏈接前綴如:[laiqun://], 可修改為您想要的前綴。
C:\WINDOWS\NOTEPAD.EXE\ 代表需要執(zhí)行EXE的路徑(可執(zhí)行文件),可替換您想運行的程序。
修改完后保存,將TXT文件重命名為【文件名.Reg】然后運行就加入注冊表中(如下圖)
注冊表代碼
2.html代碼:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <div> <a href="laiqun://">此處文字按需修改</a> </a> </div> </body> </html>
把上面的html代碼復(fù)制到notepad++,修改完成后點擊保存,然后把TXT后綴修改成html即可(如下圖)。
HTML代碼
打開html文件點擊里面的鏈接就能直接打開筆記本,我里面路徑寫的是記事本程序的路徑,所以點擊的時候是打開記事本,這個文件路徑可以在注冊表程序中修改。
注意:編輯代碼建議使用 notepad++等專業(yè)文本編輯器,不建議使用電腦自帶的記事本。
好了,關(guān)于 html(網(wǎng)頁)運行本地程序(exe文件)的方法與源碼 的教程就到這里,謝謝大家支持。
如果大家有什么不明白的地方,可以在下方評論、留言。
html實現(xiàn)本地文件的上傳,html實現(xiàn)文件上傳,html實現(xiàn)文件上傳解決方案,html實現(xiàn)文件上傳思路,html實現(xiàn)文件上傳實例,html實現(xiàn)文件上傳源碼,html實現(xiàn)文件分塊上傳,html實現(xiàn)文件分片上傳,html實現(xiàn)文件夾上傳,html實現(xiàn)文件加密上傳,
要求操作便利,一次選擇多個文件和文件夾進(jìn)行上傳;
支持PC端全平臺操作系統(tǒng),Windows,Linux,Mac
支持文件和文件夾的批量下載,斷點續(xù)傳。刷新頁面后繼續(xù)傳輸。關(guān)閉瀏覽器后保留進(jìn)度信息。
支持文件夾批量上傳下載,服務(wù)器端保留文件夾層級結(jié)構(gòu),服務(wù)器端文件夾層級結(jié)構(gòu)與本地相同。
支持大文件批量上傳(20G)和下載,同時需要保證上傳期間用戶電腦不出現(xiàn)卡死等體驗;
支持文件夾上傳,文件夾中的文件數(shù)量達(dá)到1萬個以上,且包含層級結(jié)構(gòu)。
支持?jǐn)帱c續(xù)傳,關(guān)閉瀏覽器或刷新瀏覽器后仍然能夠保留進(jìn)度。
支持文件夾結(jié)構(gòu)管理,支持新建文件夾,支持文件夾目錄導(dǎo)航
交互友好,能夠及時反饋上傳的進(jìn)度;
服務(wù)端的安全性,不因上傳文件功能導(dǎo)致JVM內(nèi)存溢出影響其他功能使用;
最大限度利用網(wǎng)絡(luò)上行帶寬,提高上傳速度;
對于大文件的處理,無論是用戶端還是服務(wù)端,如果一次性進(jìn)行讀取發(fā)送、接收都是不可取,很容易導(dǎo)致內(nèi)存問題。所以對于大文件上傳,采用切塊分段上傳
從上傳的效率來看,利用多線程并發(fā)上傳能夠達(dá)到最大效率。
文件上傳頁面的前端可以選擇使用一些比較好用的上傳組件,例如百度的開源組件WebUploader,這些組件基本能滿足文件上傳的一些日常所需功能,如異步上傳文件,文件夾,拖拽式上傳,黏貼上傳,上傳進(jìn)度監(jiān)控,文件縮略圖,甚至是大文件斷點續(xù)傳,大文件秒傳。
在web項目中上傳文件夾現(xiàn)在已經(jīng)成為了一個主流的需求。在OA,或者企業(yè)ERP系統(tǒng)中都有類似的需求。上傳文件夾并且保留層級結(jié)構(gòu)能夠?qū)τ脩粜谐珊芎玫囊龑?dǎo),用戶使用起來也更方便。能夠提供更高級的應(yīng)用支撐。
1.下載示例
https://gitee.com/xproer/up6-vue-cli
將up6組件復(fù)制到項目中
示例中已經(jīng)包含此目錄
1.引入up6組件
2.配置接口地址
接口地址分別對應(yīng):文件初始化,文件數(shù)據(jù)上傳,文件進(jìn)度,文件上傳完畢,文件刪除,文件夾初始化,文件夾刪除,文件列表
參考:http://www.ncmem.com/doc/view.aspx?id=e1f49f3e1d4742e19135e00bd41fa3de
3.處理事件
啟動測試
啟動成功
效果
數(shù)據(jù)庫
源碼工程文檔:https://drive.weixin.qq.com/s?k=ACoAYgezAAw1dWofra
源碼報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwoiul8gl
OEM版報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwuzp4W0a
產(chǎn)品源代碼:https://drive.weixin.qq.com/s?k=ACoAYgezAAwbdKCskc
授權(quán)碼生成器:https://drive.weixin.qq.com/s?k=ACoAYgezAAwTIcFph1
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。