当前位置: 首页 > news >正文

vue 使用自定义标签URL Protocol 调用本地exe 并传参

创建注册表文件reg,并运行

里面的路径需要替换成实际exe的绝对路径

Windows Registry Editor Version 5.00  
[HKEY_CLASSES_ROOT\App]  
@="URL:App Protocol Handler"   
"URL Protocol"=""
[HKEY_CLASSES_ROOT\App\DefaultIcon] 
@="E:\\App\\app.exe"
[HKEY_CLASSES_ROOT\App\shell] 
[HKEY_CLASSES_ROOT\App\shell\open]
[HKEY_CLASSES_ROOT\App\shell\open\command] 
@="\"E:\\App\\app.exe\" \"%V\"" 

运行成功后 win+r 输入 REGEDIT 打开注册表可以在下图中看见调用命令

在这里插入图片描述

Exe 文件是否支持传参 命令调用

exe必须支持传递参数调用,可以使用exe命令测试是否支持exe传参调用

cmd打开命令窗口
输入 E:\App\app.exe "admin,1234" 回车
如果可以唤醒exe 并且自动登录说明参数正确并且支持传参

前端vue调用

export default {name: 'topClass',data () {return {loading: false,userCode: 'admin',patientCardNo: '3000000'}},methods: {queryExamReport () {let userCode = "admin";let personelId = "2594098"this.getExe(userCode, personelId)},getExe (userCode, personelId) {let url = `App://${userCode},${personelId}`// window.location.href = url;window.open(url);}}
}

参数的问题

发现登录界面 的账号不是admin 而是 App://admin 说明参数需要特殊处理,不然相当于于执行了
E:\App\app.exe “App://admin,1234”

在这里插入图片描述

解决思路

  • url调用bat脚本,bat脚本使用dos命令将参数截取成正确的参数再去调用exe
@echo off
echo %~1%
echo %~2%set p1=%~1%
echo %p1%set p1=%p1:~7%
echo %p1%start "notepad.exe" %p1%
  • 写一个exe将参数截取成正确的再去调用exe
  • exe提供方内部将参数特殊处理

效果图

相关文章:

  • Pycharm+Neo4j红楼梦人物关系图谱
  • Golang 开发实战day07 - Functions
  • 关于在PyCharm中使用虚拟环境
  • 04 - 7 段 16 进制数码管显示
  • DIY蓝牙键盘(1) - 理解 键盘报文(免费)
  • JAX深度学习库入门
  • JS实现双向数据绑定的三种方式
  • 面试题:RabbitMQ 消息队列中间件
  • 基于ssm的轻型卡车零部件销售平台(java项目+文档+源码)
  • 站群服务器如何提高搜索引擎排名
  • Linux中部署Java jar 包 shell 脚本
  • Excel中文显示问号
  • 多媒体编解码
  • Axure案例分享—垂直手风琴(附下载地址)
  • 如何使用 Python 本地客户端操作读写云服务器 Redis 缓存数据库详细教程(更新中)
  • 03Go 类型总结
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • CSS居中完全指南——构建CSS居中决策树
  • Flannel解读
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • React-redux的原理以及使用
  • Redux 中间件分析
  • web标准化(下)
  • 程序员最讨厌的9句话,你可有补充?
  • 技术:超级实用的电脑小技巧
  • 前端工程化(Gulp、Webpack)-webpack
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 小程序测试方案初探
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​如何在iOS手机上查看应用日志
  • #Lua:Lua调用C++生成的DLL库
  • (07)Hive——窗口函数详解
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (C#)一个最简单的链表类
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (图)IntelliTrace Tools 跟踪云端程序
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .net MySql
  • .net 反编译_.net反编译的相关问题
  • .NET 命令行参数包含应用程序路径吗?
  • @EventListener注解使用说明
  • @JsonSerialize注解的使用
  • [2024] 十大免费电脑数据恢复软件——轻松恢复电脑上已删除文件
  • [2024最新教程]地表最强AGI:Claude 3注册账号/登录账号/访问方法,小白教程包教包会
  • [BUUCTF]-Reverse:reverse3解析
  • [BZOJ2208][Jsoi2010]连通数
  • [github全教程]github版本控制最全教学------- 大厂找工作面试必备!
  • [IDF]摩斯密码
  • [Java性能剖析]Sun JDK基本性能剖析工具介绍
  • [lintcode easy]Maximum Subarray
  • [poj 2001]Shortest Prefixes [Trie]