信大家在使用一些軟件的時(shí)候會(huì)發(fā)現(xiàn),只要點(diǎn)擊了它們的一些網(wǎng)頁(yè)廣告就會(huì)運(yùn)行一些推廣軟件或者是官方軟件。它們是怎么實(shí)現(xiàn)的呢?其實(shí)方法很簡(jiǎn)單,聽(tīng)來(lái)群網(wǎng)慢慢道來(lái)。
下面鏈接是微軟MSDN上的說(shuō)明,為了大家易懂,所以在這里分享給大家:http://msdn.microsoft.com/en-us/library/aa767914%28v=vs.85%29.aspx
當(dāng)然,或許還有更復(fù)雜的方法,小編只舉一個(gè)簡(jiǎn)單的例子。
此方法分兩部份:1. 注冊(cè)表代碼部份; 2. HTML代碼部份
1.注冊(cè)表代碼:
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\" "
注釋?zhuān)簂aiqun代表鏈接前綴如:[laiqun://], 可修改為您想要的前綴。
C:\WINDOWS\NOTEPAD.EXE\ 代表需要執(zhí)行EXE的路徑(可執(zhí)行文件),可替換您想運(yùn)行的程序。
修改完后保存,將TXT文件重命名為【文件名.Reg】然后運(yùn)行就加入注冊(cè)表中(如下圖)
注冊(cè)表代碼
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++,修改完成后點(diǎn)擊保存,然后把TXT后綴修改成html即可(如下圖)。
HTML代碼
打開(kāi)html文件點(diǎn)擊里面的鏈接就能直接打開(kāi)筆記本,我里面路徑寫(xiě)的是記事本程序的路徑,所以點(diǎn)擊的時(shí)候是打開(kāi)記事本,這個(gè)文件路徑可以在注冊(cè)表程序中修改。
注意:編輯代碼建議使用 notepad++等專(zhuān)業(yè)文本編輯器,不建議使用電腦自帶的記事本。
好了,關(guān)于 html(網(wǎng)頁(yè))運(yùn)行本地程序(exe文件)的方法與源碼 的教程就到這里,謝謝大家支持。
如果大家有什么不明白的地方,可以在下方評(píng)論、留言。
時(shí),我們希望實(shí)現(xiàn)這樣一個(gè)特性:單擊HTML頁(yè)面上的鏈接將調(diào)用本地可執(zhí)行文件。像騰訊QQ、迅雷這類(lèi)。
實(shí)現(xiàn)此功能也非常簡(jiǎn)單,這需要我們添加和修改注冊(cè)表來(lái)實(shí)現(xiàn)自定義URL協(xié)議協(xié)議。
自定義URL Protocol 協(xié)議
一些應(yīng)用軟件可以在瀏覽器中點(diǎn)擊一個(gè)url后自動(dòng)啟動(dòng),并執(zhí)行操作。
1. win+r打開(kāi)注冊(cè)表,輸入regedit進(jìn)入注冊(cè)表
2. 在注冊(cè)表 左邊最上面HKEY_CLASSES_ROOT那個(gè)樹(shù)右鍵新建——項(xiàng)。該項(xiàng)的名稱(chēng)自己命名,其實(shí)該名稱(chēng)也是協(xié)議的名稱(chēng),我們調(diào)用的時(shí)候就是根據(jù)該協(xié)議調(diào)用的,而我這里隨便起了一個(gè):ZZO。
3. 然后在該項(xiàng)中右鍵->新建->字符串值,創(chuàng)建一個(gè)URL Protocol的值,其中數(shù)據(jù)默認(rèn)為空。
4. 然后在ZZO下新建->項(xiàng),名字為DefaultIcon
5. 在ZZO下新建->項(xiàng),名稱(chēng)為shell。并在shell下新建名為open的項(xiàng)。然后在open下新建名為command的項(xiàng)
6. 然后分別修改DefaultIcon 和 command 的值為要調(diào)用的程序完整路徑.
比如我這里要調(diào)用的是QQ,完整路徑為:D:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe
7. 然后我們?cè)趆tml頁(yè)面添加一個(gè)a標(biāo)簽
<a href="Zzo://">open</a>
8. 點(diǎn)擊頁(yè)面按鈕
通過(guò)網(wǎng)站調(diào)用可執(zhí)行程序,主要是修改注冊(cè)表,注冊(cè) URL Protocol 協(xié)議。
注意上面 command 項(xiàng)的值可以為 C:\Program Files (x86)\Qiaoker\updater.exe "%1" ,這個(gè)"%1"是傳遞給 updater.exe的參數(shù)。
加了后使用是我們就可以傳參數(shù)了,
<a href="Uaiqiy://cid:110&username:mjq">
方式二:使用js調(diào)起客戶(hù)端
除了上面那種方式,我們還可以通過(guò)調(diào)用js函數(shù)實(shí)現(xiàn)客戶(hù)端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);
}
篇文章介紹一些 vim 使用技巧:
在 vim 中,可以使用 :r !cmd 命令執(zhí)行 shell 中的 cmd 命令,并把該命令的打印結(jié)果寫(xiě)入到當(dāng)前光標(biāo)的下一行。
例如,:r !date 命令執(zhí)行 shell 的 date 命令,打印當(dāng)前的時(shí)間,把這個(gè)打印結(jié)果寫(xiě)入到當(dāng)前光標(biāo)的下一行。
也可以在 r 命令的前面加上數(shù)字指定要寫(xiě)入到哪一行之后,而不是寫(xiě)入到當(dāng)前光標(biāo)的下一行。
例如,:2r !date 命令是把打印結(jié)果寫(xiě)入到第二行的后面,也就是寫(xiě)入到第三行,原先第三行會(huì)挪到第四行,后面的內(nèi)容依此類(lèi)推。
注意:如果不加感嘆號(hào) ‘!’,那么后面跟著的參數(shù)會(huì)被認(rèn)為是文件名,如果存在該文件,會(huì)讀取該文件內(nèi)容,寫(xiě)入到當(dāng)前光標(biāo)的下一行。如果該文件不存在,則報(bào)錯(cuò)提示找不到文件。例如, :r date 命令是讀取名為 date 的文件內(nèi)容,寫(xiě)入到當(dāng)前光標(biāo)的下一行。
這里的 :r 是 :read 命令的縮寫(xiě)。
在 vim 中,用 :help :r 命令查看 :r !cmd 和 :r name 命令的幫助說(shuō)明。部分關(guān)鍵說(shuō)明如下:
:r[ead] [++opt] [name]
Insert the file [name] (default: current file) below the cursor.
:{range}r[ead] [++opt] [name]
Insert the file [name] (default: current file) below the specified line.
:[range]r[ead] !{cmd}
Execute {cmd} and insert its standard output below the cursor or the specified line.
在 vim 中,可以使用 :TOhtml 命令來(lái)將當(dāng)前文件轉(zhuǎn)換出 html 格式文件。注意這個(gè)命令的大小寫(xiě),不能寫(xiě)為 :tohtml 的形式。
:TOhtml 命令基于整個(gè)文件內(nèi)容轉(zhuǎn)成一個(gè)新的 html 文件,拆分新的 vim 水平窗口顯示轉(zhuǎn)換后的 html 文件內(nèi)容。如有需要,可以自行修改文件內(nèi)容做一些調(diào)整。最后,保存該 html 文件即可。
注意:這個(gè) html 文件需要在 vim 中保存后才會(huì)生成本地文件,:TOhtml 命令并沒(méi)有直接生成本地的 html 文件,也不會(huì)修改原有文件本身的內(nèi)容,而是生成新的 html 文件。
如果只是需要轉(zhuǎn)某幾行代碼(例如30行到42行),則執(zhí)行 :30,42TOhtml 命令。
如果當(dāng)前 vim 配置成顯示行號(hào),所轉(zhuǎn)換出來(lái)的 html 文件中也會(huì)帶有行號(hào)。不想帶有行號(hào)的話(huà),可以在轉(zhuǎn)換之前,先執(zhí)行 :set nonu 命令設(shè)置為不顯示行號(hào)。
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。