Web 网页直接打开 Windows 软件
日常开发中,经常会遇到需要在浏览器就可以直接引导用户打开软件的功能,例如国内的迅雷、QQ
一般桌面软件分不同的操作系统,如 Windows、Linux、MacOS
效果如下:

以 Windows 为例:
其实原理就是通过到 Windows 注册表添加规则,然后使用协议打开本地电脑的可执行文件。
注册表(Registry)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。
HKEY_CLASSES_ROOT:启动应用程序所需的全部信息,如扩展名,应用程序与文档之间的关系,驱动程序名,DDE和OLE信息,类ID编号和应用程序与文档的图标等。
步骤如下:
创建注册表文件 open_software.reg
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\my_custom_postman]
"URL Protocol"="C:\\Users\\Ryan.Zheng\\AppData\\Local\\Postman\\Postman.exe"
@="Postman"
[HKEY_CLASSES_ROOT\drivereasy\DefaultIcon]
@="C:\\Users\\Ryan.Zheng\\AppData\\Local\\Postman\\Postman.exe,1"
[HKEY_CLASSES_ROOT\drivereasy\shell]
[HKEY_CLASSES_ROOT\drivereasy\shell\open]
[HKEY_CLASSES_ROOT\drivereasy\shell\open\command]
@="\"C:\\Users\\Ryan.Zheng\\AppData\\Local\\Postman\\Postman.exe\" \"%1\""
然后直接双击打开这个文件就可以直接将信息写入注册表中

ps:注意注册表里不懂的内容不要随意删除,不然可能会导致你的电脑无法正常使用。
然后 HTML 使用 a 标签的 href 属性,格式为:应用名://参数
<a href="my_custom_href://xxx"></a>
Web 网页直接打开 Windows 软件的更多相关文章
- TI IPNC Web网页之网页修改教程
web网页程序修改 打开gStudio之后,点击菜单栏中Help->Contents.先把这个诡异的编程语言看一遍吧.这里搬一些东西出来. GoDB简介 从第一副图片中,我们可以看出,从源文件到 ...
- OpenStack平台上,windows云主机可以ping通百度但是无法打开网页,部分其它网页可以打开
问题描述: 在OpenStack平台上的64位Windows7虚拟机,可以ping通百度,但是却无法打开百度网页. 于是,笔者又对其它网址进行的测试,发现淘宝.京东.携程部分网页可以打开,而新浪等等网 ...
- WinForm嵌入Web网页的解决方案
企业级信息化系统绝大部分采用BS架构实现,如门户网站.OA系统.电商网站等,通过浏览器输入Web网址即可访问,对于使用者来说非常便捷,对于开发维护者来说也非常方便,程序维护只需更新服务器即可,使用者无 ...
- Wine——在Linux上运行Windows软件
官网:https://www.winehq.org/ 参考: wikipedia 教你使用Wine在Linux上运行Windows软件 如何安装和使用Wine,以便在Linux上运行Windows应用 ...
- 这 10 款良心 Windows 软件,改变你对国产的认知
提起国产 Windows 软件,你可能首先想到的是捆绑安装.弹窗广告.卸载残留等关键词.尽管一些所谓「大厂」的确致力于拉低业界的下限,但依然有开发者坚守底线,为改变整个生态圈而默默努力.今天,少数派就 ...
- HTML5应用程序缓存实现离线Web网页或应用
HTML5应用程序缓存和浏览器缓存的区别.(有些)浏览器会主动保存自己的缓存文件以加快网站加载速度.但是要实现浏览器缓存必须要满足一个前提,那就是网络必须要保持连接.如果网络没有连接,即使浏览器启用了 ...
- Ti IPNC Web网页之ActiveX控件
Ti IPNC Web网页之ActiveX控件 本篇介绍关于TI IPNC网页中播放器相关的东西. gStudio工程中添加播放器并控制播放器 打开IPNC网页时首先会自动下载ActiveX控件并安装 ...
- TI IPNC Web网页之GoDB开发环境
介绍 下面介绍DM8127/DM385 IPNC RDK中网页制作相关的东东. 具体来说,各位获得这个RDK包时有以下文件: IPNC_RDK_DM812x_DM385_Version3.5.0.ta ...
- .NET桌面程序集成Web网页开发的多种解决方案
系列目录 [已更新最新开发文章,点击查看详细] B/S架构的Web程序几乎占据了应用软件的绝大多数市场,但是C/S架构的WinForm.WPF客户端程序依然具有很实用的价值,如设计类软件 Au ...
- web网页中使用vlc插件播放相机rtsp流视频
可参考: 使用vlc播放器做rtsp服务器 使用vlc播放器播放rtsp视频 使用vlc进行二次开发做自己的播放器 vlc功能还是很强大的,有很多的现成的二次开发接口,不需配置太多即可轻松做客户端播放 ...
随机推荐
- ArrayList与LinkedList性能比较
ArrayList 1 package com.lv.study.pm.first; 2 3 import java.util.ArrayList; 4 import java.util.Linked ...
- shell脚本中循环的变量无法全局生效
说明 我们在编写shell脚本时,发现shell脚本中定义的while循环中定义的变量无法作用于全局,这是因为我们使用while循环时,创建了subshell,当subshell退出后,变量值就回收了 ...
- centos7.5安装mariadb
一.安装mysql 这里我们基础系统是centos7.5 [root@monitor ~]# yum install -y mariadb-server [root@monitor ~]# syste ...
- hot100之双指针
移动0(283) 先看代码 class Solution { public void moveZeroes(int[] nums) { int idx0 = 0; for (int idx = 0; ...
- Graph ⋈ Agent:Chat2Graph 如何重构 GraphRAG 范式?
引言 去年年底,我在<2024年度 Graph+AI 开源探索思考>一文中,细致拆解并总结了 TuGraph 在「Graph+AI」领域的开源技术实践经验.文中引用了一段业内不成文的观点: ...
- PHP判断PC还是手机登录
<?php function isMobile(){ $useragent=isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AG ...
- .NET周刊【6月第5期 2025-06-29】
国内文章 为什么说方法的参数最好不要超过4个? https://www.cnblogs.com/lmy5215006/p/18919081 本文探讨了调用协定的概念,包括参数传递方式.栈清理和寄存器使 ...
- 【7】Tarjan学习笔记
前言 WFLS 暑假集训 Day 5 Day 6 Day 8 Day 9 Tarjan 是个巨佬,快来膜拜他 orz. 长文警告:本文一共 \(1092\) 行,请合理安排阅读时间. 强连通分量 强连 ...
- 01数字IC综合
数字IC设计综合入门 目录 数字IC设计综合入门 目录 1. 什么是数字IC综合? 2. 综合EDA工具简介 3. 综合的输入文件 (Inputs) 3.1 RTL代码 (Verilog/VHDL) ...
- Educational Codeforces Round 95 ABC 题解
A. Buying Torches 题意:合成一个物品需要一个a和一个b,一开始有一个a.现在有下面两种操作: 1.用1个a换x个a. 2.用y个a换1个b. 问你合成k个物品最少需要多少次操作. 思 ...