欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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ù),自定義傳入分隔符,傳到應(yīng)用程序自己解析即可。

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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解js如何優(yōu)雅處理后端返回的單元格數(shù)據(jù)

    詳解js如何優(yōu)雅處理后端返回的單元格數(shù)據(jù)

    這篇文章主要為大家詳細介紹了JavaScript如何優(yōu)雅處理后端返回的單元格數(shù)據(jù),文中的示例代碼講解詳細,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • JavaScript實現(xiàn)頁面中錄音功能的方法

    JavaScript實現(xiàn)頁面中錄音功能的方法

    這篇文章主要給大家介紹了關(guān)于JavaScript實現(xiàn)頁面中錄音功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用JavaScript具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • js與jquery實時監(jiān)聽輸入框值的oninput與onpropertychange方法

    js與jquery實時監(jiān)聽輸入框值的oninput與onpropertychange方法

    這篇文章主要介紹了js與jquery實時監(jiān)聽輸入框值的oninput與onpropertychange方法,實例分析了oninput與onpropertychange實現(xiàn)下拉框里自動匹配關(guān)鍵字實時監(jiān)聽文本框value值變化的功能,需要的朋友可以參考下
    2015-02-02
  • 重構(gòu)Javascript代碼示例(重構(gòu)前后對比)

    重構(gòu)Javascript代碼示例(重構(gòu)前后對比)

    回顧頭來看看那些Javascript腳本,有寫得不太理想,過于復(fù)雜?,F(xiàn)抽取出來,重構(gòu)它們,想學(xué)習(xí)javascript重構(gòu)的朋友可以參考下啊,網(wǎng)本文可以幫助你的
    2013-01-01
  • DVA框架統(tǒng)一處理所有頁面的loading狀態(tài)

    DVA框架統(tǒng)一處理所有頁面的loading狀態(tài)

    dva 有一個管理 effects 執(zhí)行的 hook,并基于此封裝了 dva-loading 插件。下面通過本文給大家分享DVA框架統(tǒng)一處理所有頁面的loading狀態(tài),感興趣的朋友一起看看吧
    2017-08-08
  • JS中cookie的使用及缺點講解

    JS中cookie的使用及缺點講解

    Cookie就是這樣的一種機制。它可以彌補HTTP協(xié)議無狀態(tài)的不足。在Session出現(xiàn)之前,基本上所有的網(wǎng)站都采用Cookie來跟蹤會話。下面通過本文給大家介紹JS中cookie的使用及缺點,需要的朋友參考下吧
    2017-05-05
  • 原生js實現(xiàn)ajax方法(超簡單)

    原生js實現(xiàn)ajax方法(超簡單)

    下面小編就為大家?guī)硪黄鷍s實現(xiàn)ajax方法(超簡單)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • JavaScript常見打開鏈接的幾種方法小結(jié)

    JavaScript常見打開鏈接的幾種方法小結(jié)

    在頁面中的鏈接除了常規(guī)的方式以外,如果使用javascript,還有很多種方式,下面這篇文章主要給大家介紹了關(guān)于JavaScript常見打開鏈接的幾種方法,需要的朋友可以參考下
    2024-01-01
  • js 數(shù)字、字符串、布爾值的轉(zhuǎn)換方法(必看)

    js 數(shù)字、字符串、布爾值的轉(zhuǎn)換方法(必看)

    下面小編就為大家?guī)硪黄猨s 數(shù)字、字符串、布爾值的轉(zhuǎn)換方法(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • js遍歷map javaScript遍歷map的簡單實現(xiàn)

    js遍歷map javaScript遍歷map的簡單實現(xiàn)

    下面小編就為大家?guī)硪黄猨s遍歷map javaScript遍歷map的簡單實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08

最新評論