位置: 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怎么样)

  • 企业所得税核定征收税率表最新
  • 组成计税价应该是含税价还是不含税价?
  • 什么是小规模纳税人税率
  • 小规模纳税人增值税减免账务处理
  • 排污费用计入什么会计科
  • 本期应补退税额怎么算
  • 公司车辆卖给个人怎么处理账务
  • 销售收入是不是营业收入
  • 纳税申报 财务报表利润表
  • 预提费用所得税前扣除
  • 如何调整所得税费用
  • 机械租赁费怎么算
  • 建筑公司收到工程服务发票怎么做会计分录
  • 公司注销后如何申请强制执行
  • 企业在什么情况下做薪酬诊断
  • 物业公司代收暖气费如何开票
  • 反写状态已反写是什么意思
  • 车辆购置税计税价格含增值税吗
  • 老板在外地怎么辞职
  • 税前合同价包含附加税金吗?
  • 个人出租房屋给公司可以开专票吗
  • 金蝶k3迷你版年度结账
  • 代垫资金的代购是什么
  • 其他债券投资出售时交易费用
  • 购买原材料的运费属于什么费用
  • 年末应计提坏账准备为什么是负数
  • mac双系统删除window后怎么重新恢复
  • linux服务器常用操作命令
  • php如何防止表单重复提交
  • python中函数的可变参数有哪几种?各有什么特点?
  • 制药企业成本核算流程
  • php验证源码
  • 2023前端面试题百度云
  • 补缴税款可以分期缴纳吗
  • php获取长度
  • php对接第三方支付教程
  • 政府会计无偿调拨资产账务处理
  • 筹资活动产生的现金流量净额为正说明什么
  • 拓展费怎么做账
  • 哪些费用可以在以后年度扣除
  • 租赁公司车转到私人名下
  • 建筑工程发票来自哪里
  • 《中华人民共和国禁毒法》自( )起施行
  • 解决掉发的有效方法
  • sql service 2008 数据库还原
  • 专项资金支出明细表范文
  • 小规模纳税人减半征收的六税两费
  • 营业额的纳税比例是多少
  • 工资的内容包括很多项
  • 如何处理库存货
  • 预提费用在汇算清缴时调整,会计分录怎么做
  • 待抵扣增值税退税
  • 确认收入时,也必须确认资产或债务
  • 支付政协扶贫款怎么做账
  • 汽车配件属于什么业务类型
  • 金税盘税费减免分录
  • 从事小额零星经营业务的个人,其支出
  • 报关金额多报了900美金怎么办
  • 金税盘技术维护费可以抵扣吗
  • 新成立公司怎么办理社保开户
  • 应付利润属于什么科目类别
  • Sql Server 2012 转换函数的比较(Cast、Convert和Parse)
  • mac系统怎么打开任务管理器
  • centos怎么执行脚本
  • windows提示滑动以关闭电脑
  • mac的dock栏怎么设置
  • linux安装迅雷
  • win8系统优化
  • 如何打开win7
  • cocos creator 动画制作
  • [置顶] 《精神怪谈》 后续起点
  • Leap Motion Using Unity3D——环岛跑车篇
  • grid sheet
  • unity音频导入设置
  • js实现回文
  • android view view
  • 发票代码和发票号码有什么区别
  • 深圳12366怎么转人工
  • 沈阳新公司办理社保流程
  • 单位首次交社保医疗要多久才能享受
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设