浏览器调用本地,mac和win的实现的逻辑类似,但实现的协议有所不同,下面就把最近研究的分享一下。
win:
win下通过注册表实现,相关资料挺多的,在安装程序里通过写入注册表,程序里通过传递的参数实现具体功能。
mac:
mac下实现就比较简单,每个app的boule下都有个info,设置CFBundleURLSchemes里面的array数据,可以是多个哦,这样就能通过TestOne:://yourparams或者TestTwo:://yourparams启动了。
但是值得注意的是,此时TestOne:://yourparams不能通过程序启动传递的参数获得,下面我提供一下Qt程序是如何获取这个参数的实例代码。
我们通过继承QApplication,重载event,获取QEvent::FileOpen得到,并通过信号发送出去。