最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js調(diào)用本地exe程序的兩種方式小結

 更新時間:2022年11月25日 11:10:07   作者:longzhoufeng  
這篇文章主要介紹了js調(diào)用本地exe程序的兩種方式小結,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

js調(diào)用本地exe程序

第一種方法:就是 url protocol 的方式來實現(xiàn)

用這種方式實現(xiàn),任何瀏覽器都兼容,不會存在只有IE或FIREFOX才行的情況。

都用過QQ,迅雷,電驢,在網(wǎng)頁上點擊的時候,就會彈出QQ,或者迅雷,電驢的下載界面,用的就是這個原理

在微軟的MSDN上也有說明:http://msdn.microsoft.com/en-us/library/aa767914%28v=vs.85%29.aspx

在這里,做一個簡單的例子

第一步:先要寫入注冊表,先注冊URL PROTOCOL, 在windows 下就是注冊表:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\myprotocol]
@="myprotocol Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\myprotocol\DefaultIcon]
@="C:\\WINDOWS\\NOTEPAD.EXE"

[HKEY_CLASSES_ROOT\myprotocol\shell]
@=""

[HKEY_CLASSES_ROOT\myprotocol\shell\open]
@=""

[HKEY_CLASSES_ROOT\myprotocol\shell\open\command]
@="\"C:\\WINDOWS\\NOTEPAD.EXE\" "

保存內(nèi)容為 reg文件(myprotocol.reg),然后執(zhí)行,就加入注冊表,注冊了這個名字為myprotocol 的協(xié)議.

第二步:測試頁面

<!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="myprotocol://D:\cmt-static\myprotocol.reg" rel="external nofollow" >
? ? ? ? 執(zhí)行可執(zhí)行文件
? ? </a>
</div>
</body>
</html>

js利用URL Protocol調(diào)用本地exe并傳入?yún)?shù)

1.自定義URL Protocol 協(xié)議

兩種方式

第一種:直接修改注冊表

開始 => 運行

HKEY_CLASSES_ROOT

新建項目



第二種:編寫注冊表信息,執(zhí)行即可

創(chuàng)建一個文件

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Webshell]
@=“URL:Webshell Protocol Handler”
“URL Protocol”=""
[HKEY_CLASSES_ROOT\Webshell\DefaultIcon]
@=“D:\workspace\test\system\tools\Call_Printer\trunk\code\Printer\Debug\Printer.exe”
[HKEY_CLASSES_ROOT\Webshell\shell]
[HKEY_CLASSES_ROOT\Webshell\shell\open]
[HKEY_CLASSES_ROOT\Webshell\shell\open\command]
@="“D:\workspace\test\system\tools\Call_Printer\trunk\code\Printer\Debug\Printer.exe” “%1"”

這里說明一點

  • 如果上面?zhèn)鬟f不了參數(shù),即exe程序接收不到參數(shù),將%1改為%L即可
  • 如果要傳遞多個參數(shù),自定義傳入分隔符,傳到應用程序自己解析即可。

2.Web端調(diào)用方法

3.EXE處理接收到的參數(shù)

如果是上圖web測試代碼,則接收到的數(shù)據(jù)為:WebPrinter:21/560e7cfde165449fb56a92dede3d0003a958 字符串,之后自己處理即可

4.EXE程序打包

我這里使用inno打包,只需要加上下面這段即可

Inno Setup 寫入注冊表的代碼如下:

[Registry]
Root: HKCR; SubKey: WebPrinter; ValueData: “WebPrinter Protocol”; ValueType: string; Flags: CreateValueIfDoesntExist UninsDeleteKey;
Root: HKCR; SubKey: WebPrinter; ValueName: “URL Protocol”; Flags: CreateValueIfDoesntExist; ValueType: string;
Root: HKCR; SubKey: WebPrinter\DefaultIcon; ValueData: {app}\Printer.exe; Flags: CreateValueIfDoesntExist; ValueType: string;
Root: HKCR; SubKey: WebPrinter\shell\open\command; ValueData: “{app}\Printer.exe “”%L”""; Flags: CreateValueIfDoesntExist; ValueType: string;

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

石屏县| 秭归县| 佛坪县| 安徽省| 木兰县| 青龙| 汤原县| 台湾省| 宁德市| 乌兰察布市| 富宁县| 邛崃市| 丰台区| 婺源县| 封丘县| 化隆| 抚远县| 石林| 松潘县| 大足县| 噶尔县| 阿勒泰市| 马龙县| 富民县| 祁阳县| 乐至县| 东乌珠穆沁旗| 延津县| 镇赉县| 三原县| 昭苏县| 轮台县| 南召县| 金华市| 梁平县| 曲沃县| 英德市| 北安市| 台前县| 乌什县| 西华县|