windows操作系统通过浏览器调用本地程序

news2025/1/11 7:15:23

通过浏览器调用本地程序通常被认为是危险的行为,是被禁止的,但在基于B/S架构的一体机项目中会用到关闭或重启操作系统的操作。此时需要在前端页面有相应的功能按钮并能实现相应的功能。

通过浏览器调用本地应用程序通常需要使用浏览器扩展或本地应用程序与浏览器之间的通信,这种通信需要通过自定义URL协议来实现,本文就以win10操作系统为例一步步的实现一个通过浏览器按钮重启操作系统的小案例。

1.自定义URL协议

在本地系统上注册一个自定义的URL协议,并在浏览器中创建一个链接,当用户点击该链接时,会触发本地应用程序打开。这个方法可以让你通过浏览器来启动本地程序。

例如,在Windows上,你可以注册一个自定义的URL协议,比如myapp://,然后在HTML中创建一个链接:

<a href="myapp://open">打开本地程序</a>

当用户点击这个链接时,浏览器将尝试启动关联的本地应用程序。

我们的本地应用程序很简单就是一个重启系统的批处理文件。我们在E盘根目录下新建一个“reboot.bat”批处理文件,写入以下内容。

@echo off
shutdown /r /t 0

💁‍♂ 为了后面的操作,建议先双击这个批处理文件,看看是否能正常重启系统。

下面就是自定义URL协议的步骤:

  1. 打开注册表编辑器(Registry Editor)。你可以按下 Win + R 键,然后输入 regedit 并按回车键来打开它。在这里插入图片描述
    2.转到以下注册表项(如果没有则需要创建):
HKEY_CLASSES_ROOT\<your_protocol>

其中 <your_protocol> 是你想要注册的自定义协议的名称,例如 myapp在这里插入图片描述
在这里插入图片描述
💁‍♂ 在新建myapp项时注意要为默认子项添加URL:myappURL名称,并新建一个名称为URL Protocol的空子项。

  1. 在这个注册表项下,创建一个子项 shell,并在 shell 下创建一个子项 open

  2. open 子项下创建一个字符串值(String Value),并将其命名为 command

  3. 设置 command 的值为你的本地应用程序可执行文件的路径,包括可执行文件的名称。例如:

    "C:\path\to\your\app.exe"
    

在这里插入图片描述

  1. 至此你新建URL的工作已经完成,接下来就可以在浏览器中使用 myapp:// 打开上述新建的本地应用程序了。

2.编写HTML代码

新建一个简单的HTML页面,写入以下内容。

<html>
<head>
<title>this is a test</title>

</head>

<a href="myapp://">打开本地程序</a>


</html>

3.验证

通过以上步骤,我们的准备工作已经完成,下面就打开浏览器,来验证是否能够通过浏览器上的按钮来实现重启操作系统的目标。

💁‍♂ 第一次运行时浏览器会弹出安全提示,此时要采允许。有些杀毒软件也会禁止该操作,也要选择允许才可以。
在这里插入图片描述

4.导出自定义的URL注册表项

本案例通过修改了windows的注册表添加自定义的URL,大部分程序员对windows注册表并不太熟悉,稍有不甚就有可能把系统干崩溃,所以在操作注册表的时候要小心。

在通过验证可以生效的自定义URL注册项,可以通过导出注册表项的方式在相同的操作系统中进行快速分享。

4.1 导出注册表项

打开注册表,找到我们要导出的注册表项,右键选择导出。
在这里插入图片描述
导出范围选择所选分支,并指定文件名和位置就可以导出注册表项了。

在这里插入图片描述
完成上述操作后,在你的导出位置就出现了一个myapp.reg的文件,这个文件就是我们前面自定义的URL注册项。
在这里插入图片描述

4.2 导入注册表项

如果其他相同版本的windows用户也需要使用相同的自定义URL注册表项,我们就不需要通过打开注册表一项项的手动添加了,只需要将上一步我们导出的注册表项复制到目标系统中,通过双击myapp.reg就可以快速导入了。

以上就是一个简单的使用浏览器操作本地应用程序的小例子,大家可以举一反三应用到自己的应用中去。

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

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

相关文章

Transformer(二)—— ResNet(残差网络)

Transformer&#xff08;二&#xff09;—— ResNet&#xff08;残差网络&#xff09; 一、背景1.1 梯度消失/爆炸1.2 网络退化(Degradation) 二、思路2.1 为什么需要更深的网络2.2 理想中的深网络表现 三、实践和实验效果3.1 构造恒等映射&#xff1a;残差学习&#xff08;res…

AIRIOT训练营沈阳站圆满结束|手把手教你搞定物联网应用开发

8月28日-9月1日&#xff0c;由航天科技控股集团有限公司&#xff08;以下简称“航天科技”&#xff09;主办的《AIRIOT物联网平台应用与实战》训练营在沈阳圆满结束&#xff0c;来自上海电机学院、中渝软通信息技术、北京华天机电研究所、北京环卫集团、 中国恩菲 等多家企业…

easypoi模板导出、一张sheet有多个不同表格、带一张或多张echars图表

前言 昨天遇到个有点复杂的excel需要导出&#xff0c;一张sheet里面有两个不同的表格&#xff0c;然后还有几张echars图表要加进去。总共分为上下两个部分&#xff0c;上面是表格一&#xff1b;下面又分为左右两个部分&#xff0c;左边是表格二&#xff0c;右边是几张echars图…

过等保三级的好处是什么?谁能简单说说?

虽然国家已经严格落地执行了等保2.0政策&#xff0c;但还有少数小伙伴对于等保政策不是很了解&#xff0c;有小伙伴问过等保三级的好处是什么&#xff1f;谁能简单说说&#xff1f;这里就来一起聊聊。 过等保三级的好处是什么&#xff1f; 好处1、遵循国家法律法规要求&…

气象观测站:观测原理及优势,助力气象精准预报

随着全球气候变化日益严重&#xff0c;气象观测站在现代社会中的地位愈发凸显。 一、气象观测站的观测原理 气象观测站主要通过各种传感器来测量大气的温度、湿度、风速、风向、气压、太阳辐射等基本气象要素。这些传感器需要具备高精度和高稳定性&#xff0c;以确保观测数据…

DAY02_瑞吉外卖——完善登录功能新增员工员工分页查询启用/禁用员工账号编辑员工信息

目录 1. 完善登录功能1.1 问题分析1.2 思路分析1.3 代码实现1.4 功能测试 2. 新增员工2.1 需求分析2.2 数据模型2.3 程序执行流程2.4 代码实现2.5 功能测试2.6 全局异常处理2.6.1 思路分析2.6.2 全局异常处理器2.6.3 测试 3. 员工分页查询3.1 需求分析3.2 程序执行流程3.2.1 页…

实现在外网SSH远程访问内网树莓派的详细教程

文章目录 如何在局域网外SSH远程访问连接到家里的树莓派&#xff1f;如何通过 SSH 连接到树莓派步骤1. 在 Raspberry Pi 上启用 SSH步骤2. 查找树莓派的 IP 地址步骤3. SSH 到你的树莓派步骤 4. 在任何地点访问家中的树莓派4.1 安装 Cpolar4.2 cpolar进行token认证4.3 配置cpol…

PyTorch深度学习实战(15)——迁移学习

PyTorch深度学习实战&#xff08;15&#xff09;——迁移学习 0. 前言1. 迁移学习1.1 迁移学习基本概念1.2 迁移学习的重要性1.3 ImageNet1.4 迁移学习流程 2. VGG16 架构3. 使用预训练 VGG16 模型实现猫狗分类小结系列链接 0. 前言 迁移学习( Transfer Learning )是一种利用从…

利用evo将kitti数据集真值轨迹由kitti格式转为tum格式

&#xff08;1&#xff09;首先是序列对应问题&#xff1a; 00: 2011_10_03_drive_0027 01: 2011_10_03_drive_0042 02: 2011_10_03_drive_0034 03: 2011_09_26_drive_0067 04: 2011_09_30_drive_0016 05: 2011_09_30_drive_0018 06: 2011_09_30_drive_0020 07: 2011_09_30_dr…

精品基于NET实现的期刊订购管理系统

《[含文档PPT源码等]精品基于NET实现的期刊订购管理系统》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程等 软件开发环境及开发工具&#xff1a; 开发软件&#xff1a;VS 2017 &#xff08;版本2017以上即可&#xff0c;不能低于2017&#xff09; 数…

12.示例程序(定时器定时中断定时器外部时钟)

目录 定时中断和时钟源选择相关库函数使用 1.定时器初始化配置 2.参数&#xff08;PSC、ARR等&#xff09;更改函数&#xff08;在程序运行过程中修改&#xff09; 3.使用定时器库函数的一些细节 定时器定时中断实例 定时器外部时钟选择 知识点get&#xff1a; 滤波器工作…

印尼市场TikTok攻略:如何利用海外网红引领品牌营销?

随着社交媒体的迅速崛起&#xff0c;营销策略也在不断演变&#xff0c;其中TikTok作为一个全球热门的短视频平台&#xff0c;为企业在国际市场上推广产品和服务提供了新的机会。印尼作为东南亚最大的国家之一&#xff0c;拥有庞大的互联网用户群体&#xff0c;为品牌在TikTok上…

如何写出一篇爆款产品文案,从目标受众到市场分析!

一篇爆款产品文案意味着什么?意味着更强的种草能力&#xff0c;更高的销售转化和更强的品牌传播力。今天来分享下如何写出一篇爆款产品文案&#xff0c;从目标受众到市场分析&#xff01; 一、产品文案策略 一篇爆款产品文案&#xff0c;并不是一时兴起造就的。在撰写之前&…

Date日期工具类(数据库日期区间问题)

文章目录 前言DateUtils日期工具类总结 前言 在我们日常开发过程中&#xff0c;当涉及到处理日期和时间的操作时&#xff0c;字符串与Date日期类往往要经过相互转换&#xff0c;且在SQL语句的动态查询中&#xff0c;往往月份的格式不正确&#xff0c;SQL语句执行的效果是不同的…

提升测试效果:深入解析《Effective软件测试》的关键方法与实践

目录 1、写在前面2、独特的观点3、内容介绍4、作者介绍5、赠书 or 购买 1、写在前面 近年来出现了一 些新的出版方式&#xff0c;MEAP(Manning Early Access Program)就是其中的一种&#xff0c;把开源运动扩展到出版行业。在MEAP中&#xff0c;读者可在图书出版前逐章阅读早期…

2023开学值得买电容笔有哪些?ipad第三方电容笔推荐

很多学生都已经在为新学期的到来做准备了&#xff0c;而电容笔&#xff0c;也是他们最喜欢的一种。苹果的Pencil&#xff0c;虽然功能很强&#xff0c;但也很贵&#xff0c;不是每个人都能买得起的。目前市场上有很多价格低廉&#xff0c;使用方便的平替电容笔&#xff0c;因此…

Numpy和Pandas简介

推荐&#xff1a;使用NSDT场景编辑器快速搭建3D应用场景 如果您正在从事数据科学项目&#xff0c;Python 包将简化您的生活&#xff0c;因为您只需要几行代码即可执行复杂的操作&#xff0c;例如操作数据和应用机器学习/深度学习模型。 在开始你的数据科学之旅时&#xff0c;…

[Linux]进程间通信--共享内存

[Linux]system V共享内存 文章目录 [Linux]system V共享内存共享内存通信的原理系统接口创建共享内存接口关联共享内存接口去关联共享内存接口删除共享内存接口 使用指令操作共享内存查看共享内存删除共享内存 共享内存的特性编码测试共享内存 共享内存是Linux系统下的一种进程…

spring boot项目运行及打包

目录 一、项目示例 二、项目运行 三、项目打包 3.1 配置打包项 3.2 运用maven工具打包 3.3 运行打包好的jar文件 一、项目示例 创建项目逻辑实现文件&#xff08;控制URL路径访问及内容逻辑实现&#xff09; 如上图点击创建新的java class文件&#xff0c;编辑文件内容&…

开发工程师VS测试工程师VS测试开发工程师

每年正式上班之后就会非常忙&#xff0c;今年也不例外。我们公司现在也忙了起来&#xff0c;都没有时间写我的自动化测试教程了。不过大家放心&#xff0c;我会继续写下去的&#xff0c;不过可能更新的不那么快了。最近被同事问到了一个问题&#xff0c;开发&#xff0c;测试和…