JS执行exe文件

使用js调用客户端的exe文件,在网上搜索主要有两种方式:

1、使用ActiveXObject

  <script type="text/javascript">      
        function open_exe(strPath)
        {
            try{
                //新建一个ActiveXObject对象
                a = new   ActiveXObject("wscript.shell");    
                  a.run(strPath); 
            }catch(e)
            {
                alert('找不到文件 ');
            }
        }    
    </script>

然后调用方式如下:

 <button   οnclick="open_exe(您的exe文件地址)">调用Exe</button>

但是呢,对于ActiveObject这个鬼东西只有IE才支持,但是我又是那种极不愿意用IE的奇葩,而且这种方式将把客户端访问限制在IE里面,也是怎么OK的。所以呢,这儿有了第二种方式,和注册表相关的东西。

2、url protocol方式实现

Windows Registry Editor Version 5.00

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

[HKEY_CLASSES_ROOT\Browser\DefaultIcon]
@="C:\\3R\\Programs\\MPS2WSM\\MPS2WSM.exe" ------>你的exe地址

[HKEY_CLASSES_ROOT\EmrBrowser\Shell]
@=""

[HKEY_CLASSES_ROOT\Browser\Shell\Open]
@=""

[HKEY_CLASSES_ROOT\Browser\Shell\Open\Command]
@="C:\\3R\\Programs\\MPS2WSM\\MPS2WSM.exe"  ------>你的exe地址

上面的方式是一种不传值得调用,如果想要传值得这样:

Windows Registry Editor Version 5.00

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

    [HKEY_CLASSES_ROOT\Browser\DefaultIcon]
    @="D:\\MyCode\\learnTest\\RegisterURI\\wrapper.exe"

    [HKEY_CLASSES_ROOT\EmrBrowser\Shell]
    @=""

    [HKEY_CLASSES_ROOT\Browser\Shell\Open]
    @=""

    [HKEY_CLASSES_ROOT\Browser\Shell\Open\Command]
    @="D:\\MyCode\\learnTest\\RegisterURI\\wrapper.exe %1"---->1% 代表传入的参数

具体解释可以参考:https://blog.csdn.net/bzt820801/article/details/77653759

这种方式在程序上调用如下:

a、不传值
<a href="Browser:"  style="display:none"><span id="runmpstowsm">运行程序</span></a>

a标签里面装个span,是因为在这我是用了trigger来调用,具体原因查看:

https://blog.csdn.net/qq_24266485/article/details/80756796

b、传值
<a href="Browser:// 参数1 参数2">运行程序</a>

------------------------------------------------更新-----------------------------------------------------------------------------

上面的URL protocol方式的却能行,但是在我这里,运行了以后,如果第二天或者隔一段时间运行仿佛注册表就失效一样,程序就不能直接调用起来(至少在我这里是这样的),需要再执行一下这个.reg文件才可以,这样很不好。所以我用了下面的代码重新注册了下注册表,反正这几天来都是可以的,参考下:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Browser]
"URL Protocol"="C:\\3R\\Programs\\MPS2WSM\\MPS2WSM.exe"
@="WebshellProtocol"
[HKEY_CLASSES_ROOT\Browser\DefaultIcon]
@="C:\\3R\\Programs\\MPS2WSM\\MPS2WSM.exe"
[HKEY_CLASSES_ROOT\Browser\shell]
[HKEY_CLASSES_ROOT\Browser\shell\open]
[HKEY_CLASSES_ROOT\Browser\shell\open\command]
@="C:\\3R\\Programs\\MPS2WSM\\MPS2WSM.exe"
与上面的代码区别不大,同样的用法。。。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值