浏览器中使用 window.open()打开 URL。当 URL 为特定的前缀的时候(URI Scheme),就会调用注册表中对应的指令。
写入注册表
参考 https://msdn.microsoft.com/en-us/library/aa767914(VS.85).aspx
其中的关键是在注册表中写入如下的注册表项
1 | HKEY_CLASSES_ROOT |
使用 go 操作注册表.path 为程序的地址。uri 为调用程序的 URI Scheme。
使用 js 调用 window.open(“uri://“)就可以打开程序。
1 | func regKey(path string,uri string) error { |
获取管理员权限
在注册表中写入注册表项需要管理员权限。
- go get github.com/akavel/rsrc
- 把 nac.manifest 文件拷贝到当前 windows 项目根目录
- rsrc -manifest nac.manifest -o nac.syso
- go build
nac.mainfest 的内容为:
1 |
|