• js 从浏览器调用本地exe程序(包括IE和谷歌)(转载)


    IE浏览器调用本地exe

    (谷歌浏览器不支持ActiveXObject方法,所以这个方法只能在IE浏览器上使用)

     function Run() {
          var strPath = "E:\Electron练习\test1\out\test1-win32-x64\test1.exe";
          try {
                var objShell = new ActiveXObject("wscript.shell");
                objShell.Run(strPath);
          }
          catch (e) {
                alert('找不到文件"' + strPath + '"(或它的组件之一)。请确定路径和文件名是否正确,而且所需的库文件均可用。')
          }
    }
    

    注意:每个文件夹后面的要再加一个
    例如:
    原本的exe路径是E:Electron练习 est1out est1-win32-x64 est1.exe
    修改之后的路径为:E:\Electron练习\test1\out\test1-win32-x64\test1.exe

    谷歌浏览器调用本地exe(IE也通用)

    1.使用记事本(或其他文本编辑器)创建一个protocal.reg文件,并写入以下内容

    Windows Registry Editor Version 5.00
    [HKEY_CLASSES_ROOTWebshell]
    @="URL:Webshell Protocol Handler"
    "URL Protocol"=""
    [HKEY_CLASSES_ROOTWebshellDefaultIcon]
    @="E:\Electron练习\test1\out\test1-win32-x64\test1.exe"
    [HKEY_CLASSES_ROOTWebshellshell]
    [HKEY_CLASSES_ROOTWebshellshellopen]
    [HKEY_CLASSES_ROOTWebshellshellopencommand]
    @=""E:\Electron练习\test1\out\test1-win32-x64\test1.exe" "%1""
    

    2.修改参数

    使用记事本打开文件后,按照下图说明修改相关参数

    2.1修改连接名称

    修改红框内名称自定义即可,全部使用英文字符(该名称即为调用时的href),共六处


     
    image.png
    2.2修改可执行文件路径

    修改红框内可执行文件路径,共两处
    需注意:文件路径中使用//分割

     
    image.png

    3.执行protocal.reg文件

     
    image.png

    4.创建调用连接

     
    image.png

    在谷歌浏览器中点击链接弹窗确定却没有反应,没有打开exe
     
    image.png

    查找原因发现:
    在注册表编辑器中找个刚刚创建的注册表,发现路径有乱码,因为路径中有中文,在这里就显示了乱码
    手动修改路径乱码为正确的中文,共两处
     
    image.png

     
    image.png

    再次点击谷歌浏览器中的链接就能成功打开exe了

     
    image.png


    作者:李大鱼_
    链接:https://www.jianshu.com/p/69c9bf5a5b76
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    qq:505645074
  • 相关阅读:
    Bw树:新硬件平台的B树(内存数据库中的b树索引)
    SQL Server 列存储索引强化
    SQL Server Column Store Indeses
    我了解的数据库事务复制
    [MySQL Reference Manual] 10 全球化
    [20141208]数据库复制并不会复制索引创建删除
    10个超赞的jQuery图片滑块动画
    推荐20款JavaScript框架给前端开发者
    7个华丽的基于Canvas的HTML5动画
    10个非常炫酷的jQuery相册动画赏析
  • 原文地址:https://www.cnblogs.com/chen1880/p/15502216.html
Copyright © 2020-2023  润新知