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>