背景
许多本地应用(例如 vscode、QQ),都支持通过浏览器来启动 PC 上的本地软件
这个功能够使网页端和客户端联动起来,用户体验还是很好的,实现起来也并不复杂。
实现原理
浏览器在解析 url 的时候,会尝试从系统本地寻找url协议所关联的应用,如果有关联的应用,则尝试打开这个应用
例如 VsCode 从 web 端安装插件的时候,实际上是访问了一 个vscode
协议的 url,从而达到启动用户本地 VsCode 的目的.
具体实现
现在,我们只需要将自定义的协议注册到用户电脑上,就可以实现功能了。用户浏览器里访问带有自定义协议的 url ,即可启动我们的客户端。
Windows
在windows下,注册一个协议比较简单,写注册表就可以了。这部分微软爸爸有很详细的文档,参考 Registering an Application to a URI Scheme
建议在安装程序中写入注册表项,并且指定在卸载程序中,删除这些注册表项。以下是 inno setup 打包程序中,操作注册表的示例代码
网友评论