位置: IT常识 - 正文

浏览器打开任意可执行exe文件方法(浏览器任意链接在哪里)

编辑:rootadmin
思路:通过注册表注册自定义URL协议执行bat脚本,将文件路径作为参数传入 环境:win10 前置问题与条件 问题1:可以从浏览器直接打开可执行文件吗? 答:不能。其实可以通过 ActiveXObject 实现软件直接打开,但是它是不安全的,并且现在被大多数现代浏览器禁止,只能在 ie 使用。而通过 ...

推荐整理分享浏览器打开任意可执行exe文件方法(浏览器任意链接在哪里),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:打开任何网站的浏览器,浏览器打开任意网页,打开所有浏览器,浏览器打开任意窗口,打开任意一个浏览器,浏览器打开任意窗口,浏览器打开任意窗口,浏览器打开任意界面完成网络认证,内容如对您有帮助,希望把文章链接给更多的朋友!

思路:通过注册表注册自定义URL协议执行bat脚本,将文件路径作为参数传入

环境:win10

前置问题与条件

问题1:可以从浏览器直接打开可执行文件吗?

答:不能。其实可以通过 ActiveXObject 实现软件直接打开,但是它是不安全的,并且现在被大多数现代浏览器禁止,只能在 ie 使用。而通过注册表自定义URL协议,通过将文件名、操作等作为参数加入URL并由浏览器访问,可以触发协议执行bat脚本执行相应操作。

问题2:如何获取文件的路径?可以从浏览器上通过 <input type="file"> 直接获取吗?

答:问题1我们知道无法在浏览器直接可执行exe文件。从外部打开的话,就需要有文件的路径。但是同样的,现代浏览器禁止从 <input type="file"> 中得到文件的路径信息,将 file.path 定义为 undefined 或者 C:\fakepath\<文件名>,虽然ie浏览器可以,但是需要修改安全设置,也不是很靠谱。无法从浏览器直接获取,就只能指定一个文件夹存放exe的快捷方式了,这个方法需要第一次执行前将需要的可执行文件的快捷方式集中到一个指定文件夹中,虽然有点麻烦,但是总归是获取文件路径的一个办法。

注册自定义URL协议

新建 reg 文件:

Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\EMTool3]@="URL:EMTool3 Protocol""URL Protocol"=""[HKEY_CLASSES_ROOT\EMTool3\DefaultIcon]@="EMTool3.exe,1"[HKEY_CLASSES_ROOT\EMTool3\shell][HKEY_CLASSES_ROOT\EMTool3\shell\open][HKEY_CLASSES_ROOT\EMTool3\shell\open\command]@="cmd /c set arg1=%1 & \"C:\\Data1\\ExpManageTool\\handle_file.bat\" %%arg1%%"浏览器打开任意可执行exe文件方法(浏览器任意链接在哪里)

EMTool3 为协议名称,C:\\Data1\\ExpManageTool\\handle_file.bat 为执行的bat脚本的位置。

双击reg文件,即可执行注册该URL协议。

编写bat脚本@echo offSetlocal enableDelayedExpansionecho url: [%arg1%]set m=%arg1%rem 将url编码改为正常格式set m=%m:EMTool3://=%set m=%m:separator=&%set m=!m:%%5C=/!rem 取第一个字符set mode=%m:~0,1%rem 去除第一个字符得到路径set m=%m:~1%echo mode: [%mode%]echo path: [%m%]if "%mode%"=="1" (echo open exe [%m%]goto openExeecho done)pause:openExerem 实际运行程序的地址在这里配置 %m% 是参数echo exec: %m%start "" %m%rem Setlocal enableDelayedExpansionrem pausegoto :eof

这里将协议后的第一个字符作为参数,字符 1 表示打开该可执行文件,有需要可以自己在脚本上添加其他功能。

bat编写完成后,放在reg中的指定文件夹下即可。

测试使用测试URL协议

在浏览器地址输入 <协议名>://1<快捷方式绝对地址> ,1为我定义的打开可执行文件动作的参数,然后回车。

点击打开。

成功打开应用。

在前端中使用

在前端中,我们可以在 <input type="file>"> 打开一个文件后获取文件名,然后加上指定文件夹前缀,组成路径,然后使用 windows.open() 函数在新标签页打开该URL。我这里使用的是vue2+element-UI。

<input :id="scope.row.cName" type="file" hidden @change="fileChange(scope.row.cName)"> <el-button icon="el-icon-folder-opened" @click="selectExeFile(scope.row.cName)" /></input>fileChange(id) { const file = document.getElementById(id).files[0] let fileName = file.name if (fileName.endsWith('.exe')) { fileName = fileName.substring(0, fileName.indexOf('.exe')) } this.exeUrl = 'EMTool3://1C:\\Data1\\ExpManageTool\\exeList\\' + fileName + '.lnk' // URL构造 console.log(this.exeUrl) window.open(this.exeUrl, '_blank') // 新标签页打开URL}
本文链接地址:https://www.jiuchutong.com/zhishi/310152.html 转载请保留说明!

上一篇:首涂二十一套模板带后台会员中心苹果CMSv10响应式diy高级电影主题-OK源码破解(首涂24套)

下一篇:phpcms后台不能发布文章怎么办(phpcms怎么样)

  • win11正式版什么时候发布(Win11正式版什么时候更新)

    win11正式版什么时候发布(Win11正式版什么时候更新)

  • iphone xs是双卡吗(苹果xs是双卡嘛?)

    iphone xs是双卡吗(苹果xs是双卡嘛?)

  • 手机上网码在哪里(手机上的上网码在哪)

    手机上网码在哪里(手机上的上网码在哪)

  • 快手私信为什么删了还有(快手私信为什么会显示今天来过)

    快手私信为什么删了还有(快手私信为什么会显示今天来过)

  • 键盘中文英文的转换(键盘上面中英文转换是哪个字母)

    键盘中文英文的转换(键盘上面中英文转换是哪个字母)

  • 抖音作品可以屏蔽某个人吗(抖音作品可以屏蔽粉丝吗)

    抖音作品可以屏蔽某个人吗(抖音作品可以屏蔽粉丝吗)

  • 移动短信删除了还能恢复吗(移动短信删除了怎么恢复回来)

    移动短信删除了还能恢复吗(移动短信删除了怎么恢复回来)

  • 微信人脸验证为什么老是不通过(微信人脸验证为什么不通过)

    微信人脸验证为什么老是不通过(微信人脸验证为什么不通过)

  • 手机前后摄像头的区别(手机前后摄像头能双开吗)

    手机前后摄像头的区别(手机前后摄像头能双开吗)

  • 如何设置微信标语(如何设置微信标签名称)

    如何设置微信标语(如何设置微信标签名称)

  • 怎么隐藏自己的微信号(怎么隐藏自己的ip地址)

    怎么隐藏自己的微信号(怎么隐藏自己的ip地址)

  • 苹果11静音模式怎么取消(苹果11静音模式怎么开)

    苹果11静音模式怎么取消(苹果11静音模式怎么开)

  • oppo手机微信扫一扫黑屏怎么回事(oppo手机微信扫码扫不出来怎么回事)

    oppo手机微信扫一扫黑屏怎么回事(oppo手机微信扫码扫不出来怎么回事)

  • 手机数据线必须原装吗(手机数据线必须配套才能连接吗)

    手机数据线必须原装吗(手机数据线必须配套才能连接吗)

  • 华为nova6是什么屏幕(华为nova6是什么时候上市的?)

    华为nova6是什么屏幕(华为nova6是什么时候上市的?)

  • 文件下面横线怎么画(文件下面的横线)

    文件下面横线怎么画(文件下面的横线)

  • 魅族16s怎么关闭系统自动更新(魅族16s怎么关闭动态锁屏)

    魅族16s怎么关闭系统自动更新(魅族16s怎么关闭动态锁屏)

  • 闲聊的人脸识别怎么操作(闲聊的人脸识别安全吗)

    闲聊的人脸识别怎么操作(闲聊的人脸识别安全吗)

  • vivo手机hd是什么意思(vivo手机hd1什么意思)

    vivo手机hd是什么意思(vivo手机hd1什么意思)

  • 华为超广角怎么开(华为超广角怎么用)

    华为超广角怎么开(华为超广角怎么用)

  • 苹果7p尺寸(苹果7plus尺寸)

    苹果7p尺寸(苹果7plus尺寸)

  • vivox23sos紧急呼叫怎么关(vivox20sos紧急呼叫设置)

    vivox23sos紧急呼叫怎么关(vivox20sos紧急呼叫设置)

  • 快手的浏览设置在哪里(快手的浏览设置怎么设置)

    快手的浏览设置在哪里(快手的浏览设置怎么设置)

  • 帝国CMS新增加专题页面(帝国cms使用手册)

    帝国CMS新增加专题页面(帝国cms使用手册)

  • 工程类预交税金
  • 实收资本印花税最新规定
  • 计算增值税时要包括关税吗
  • 先申报财务报表还是企业所得税汇算清缴
  • 赊销和分销时纳税义务发生时间是什么时候?
  • 一般纳税人购入固定资产的账务处理
  • 个人所得税累计扣除标准
  • 新个税系统如何操作
  • 个体户个人经营所得税税率表2023
  • 国际货物运输07113
  • 资本公积 转增
  • 费用和利润的比例
  • 无合同销售收入怎么算
  • 采购入库损耗如何计算
  • 押金放到哪个会计科目
  • 对外支付增值税扣缴义务发生时间
  • 公路工程营改增
  • 银行回单手续费怎么找到对应金额
  • 开汽车租赁发票需要什么资料?
  • 发票上的二维码可以扫金额吗
  • 建筑企业甲供材税收筹划
  • 营改增后增值税科目
  • 固定资产一次性扣除政策2023文件
  • 投资设立民间非经济组织
  • 税后2.5万工资税前多少钱
  • 装修费用资本化的条件
  • 赊销商品填制什么科目
  • 什么是电力市场
  • 跨年的费用怎么做账
  • 爱奇艺以图搜剧不见了
  • 高手成长礼包
  • 政府收回土地使用权免征增值税的条件
  • 现金折扣成本变动额
  • 海关发票丢失怎么处理
  • 可供出售金融资产在资产负债表日反映的是
  • yii2前后端分离
  • unigui 小程序
  • 公司客户招待费用标准
  • js怎么注册
  • css加小手
  • pyqt5如何安装
  • php调用微信扫描二维码
  • python变量赋值的正确方法
  • 公司转让注册海外公司
  • SQL(MSSQLSERVER)服务启动错误代码3414的解决方法
  • 在建工程领用自产应税消费品
  • 金税四期主要核查什么?
  • 金税四期对企业的好处
  • 一般纳税人租赁费税率5%是简易征收吗?
  • 原材料的帐务处理
  • 销售退回特殊情形有哪些
  • 装修费用账务怎么处理
  • 新政府会计制度与旧制度区别
  • 应收账款科目如何核算
  • 电商平台返佣金个人税点
  • 委托代销确认销售收入
  • 更正申报所得税汇算清缴
  • 4s店出售试驾车的增值税是多少
  • 长期股权投资哪一章
  • 过路费属于差旅费还是办公费
  • Fedora 21顶栏日期显示不全的解决方法
  • 升级win8.1 64位系统后无法玩剑灵怎么办?win8.1系统无法玩剑灵的解决方法
  • wrme.exe是什么
  • windows软件删除
  • 什么叫linux
  • win8怎么禁用更新
  • win7菜单栏是什么
  • cocos lua js
  • ReactNative 之FlatList使用及踩坑封装总结
  • js中的call方法和apply方法
  • Android开发中遇到的问题及解决方案
  • jqgrid tree
  • jquery ui draggable
  • python中私有函数调用方法解密
  • python 查找中文
  • javascript面向对象编程指南第三版
  • 解决烧心最快方法
  • 广西12366社保缴费APP
  • 拉萨税务局拉巴卓玛
  • 上海个税100万元工资多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设