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提供方内部将参数特殊处理

效果图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/792079.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pycharm调试(步过(Step Over)、单步执行(Step Into)、步入(Step Into)、步出(Step Out))

pycharm调试 pycharm调试 pycharm调试为什么要学会调试?1. 步过 (Step Over)2. 单步执行 (Step Into)3. 步入(Step Into)4. 步出(Step Out) 为什么要学会调试? 调试可以帮助初学者更深入地理解编程基础&am…

【Android、 kotlin】kotlin学习笔记

基本语法 fun main(){val a2var b "Hello"println("$ (a - 1} $b Kotlin!")} Variables 只赋值一次用val read-only variables with val 赋值多次用var mutable variables with var Standard output printin() and print() functions String templ…

NKCTF2024 re VM?VM!WP

逻辑似乎很简单(个鬼啊) 这个函数是把输入的字符转化为二进制并倒序存储 sub_1570太大了加载不出来,应该是加密的主逻辑,目的是需要输出1 可以通过删除栈的方法强行转化伪代码 首先删掉这部分 9A0改小点 这个也是 栈这里U一下再…

DFS:深搜+回溯+剪枝解决组合问题

创作不易,感谢支持!!! 一、电话号码的组合 . - 力扣(LeetCode) class Solution { public:string hash[10]{"","","abc","def","ghi","jkl","mno","pqrs"…

爬虫部署平台crawlab使用说明

Crawlab 是一个基于 Go 语言的分布式网络爬虫管理平台,它支持 Python、Node.js、Jar、EXE 等多种类型的爬虫。 Crawlab 提供了一个可视化的界面,并且可以通过简单的配置来管理和监控爬虫程序。 以下是 Crawlab 的一些主要优点: 集中管理&am…

【C】leetcode力扣—— 141. 环形链表Ⅰ

目录 141. 环形链表 Ⅰ题目解题思路分析暴力求解??快慢指针 代码 141. 环形链表 Ⅰ 题目链接: https://leetcode.cn/problems/linked-list-cycle/description/ 题目 题目 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某…

E-魔法猫咪(遇到过的题,做个笔记)

题解: 来自学长们思路: 其中一种正解是写单调队列。限制队列内的数单调递增,方法为每当新来的数据比当前队尾数据小时队 尾出列,直到能够插入当前值,这保证了队头永远是最小值。因此总体思路是队尾不断插入新值的同时 …

openlayers 入门教程(九):overlay 篇

还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,ech…

vue-cli打包 nodejs内存溢出 vue2.x Last few GCs

遇到这种情况百度各种博客,什么改package.json里的配置,什么安装increase-memory-limit ,都尝试了并没什么用处,最后解决方案为执行下方名单,再次打包就成功了: export NODE_OPTIONS--max_old_space_size4…

单元测试 mockito(二)

1.返回指定值 2.void返回值指定插桩 3.插桩的两种方式 when(obj.someMethod()).thenXxx():其中obj可以是mock对象 doXxx().wien(obj).someMethod():其中obj可以是mock/spy对象 spy对象在没有插桩时是调用真实方法的,写在when中会导致先执行一次原方法,达不到mock的目的&#x…

好物视频素材在哪找?视频素材大全app下载

创作优质视频内容不仅仅是一种艺术,也是一种科学,需要对素材的深刻理解和精心挑选。掌握了这些高清无水印视频素材,您就拥有了创作引人入胜视频内容的强大工具。以下是更多精选的视频素材网站,旨在为您的视频项目提供更广阔的视野…

Python | Leetcode Python题解之第10题正则表达式匹配

题目: 题解: class Solution:def isMatch(self, s: str, p: str) -> bool:m, n len(s), len(p)dp [False] * (n1)# 初始化dp[0] Truefor j in range(1, n1):if p[j-1] *:dp[j] dp[j-2]# 状态更新for i in range(1, m1):dp2 [False] * (n1) …

专升本--python运算符总结

运算优先级 同一个等级是没有先后顺序的,此外,赋值语言的先后问题: 赋值的顺序从上往下,同一行一般都是代表同时进行赋值,如图所示: 一.and A and B,若A,B有任意一个为假(0&#x…

希尔排序和快排里的小区间优化

希尔排序 希尔排序是插入排序的优化。 当一串数是逆序时,那么每插入一个数,前面的数都会向后面挪动。 那么这是插入排序的时间复杂度,就会达到O(n^2) 希尔排序是对数组里的数进行预排序。 防止插入排序出现最坏的情况。 预排序&#xf…

ABC318 F - Octopus

解题思路 对于每个宝藏维护个区间,答案一定在这些区间中对于每个区间的端点由小到大排序对于每个点进行判断,若当前位置合法,则该点一定为一个右端点则该点到前一个端点之间均为合法点若前一个点不合法,则一定是某一个区间限制的…

Xen Server 8 Install

Xen Sevrer 前言 XenServer(以前称为 Citrix Hypervisor)是业界领先的平台,实现了经济高效的桌面、服务器和云虚拟化基础结构。XenServer 支持任意规模或类型的组织整合计算资源,以及将计算资源转换为虚拟工作负载,从…

c++协程详解(二)

前言 这是c协程实现第二篇,这里开始我们将开始真正意义上开始实现协程。对协程基础流程不清楚的,可以看我的第一篇。 后续可能需要一定的模板知识,可以看下我的模板的文章,那些知识就完全够用了。本篇将实现一个协程封装的异步任…

Redis慢日志

SLOWLOG 是用来读取和重置 Redis 慢查询日志的命令,Redis 2.2.12 版本开始支持 1.Redis 慢查询日志概述 客户端从发送命令到获取返回结果经过了以下几个步骤: 1. 客户端发送命令 2. 该命令进入 Redis 队列排队等待执行 3. Redis 开始执行命令 - Red…

浅析JavaWeb内存马基础原理与查杀思路

文章目录 前言Java内存马内存马分类&原理JavaWeb三大组件注入Servlet内存马注入Filter型内存马JAVA Agent内存马 哥斯拉木马0x01 WebShell0x02 MemShell0x03 FilterShell0x04 Arthas排查0x05 scanner查杀 总结 前言 几年前写过《Web安全-一句话木马》,主要介绍…

PurpleKeep:提供Azure管道以创建基础设施并执行Atomic测试

关于PurpleKeep PurpleKeep是一款功能强大的安全测试自动化工具,该工具能够通过提供Azure管道以创建基础设施,并帮助广大研究人员执行Atomic测试。 随着攻击技术种类的迅速增加,以及EDR(端点检测和响应)和自定义检测规…