最近在做一个浏览器的项目中遇到一个跳转到自定义协议的连接上。
如:tencent://message/?uin=123456789&Site=qq&Menu=yes
类这种协议是如何工作的呢?
将连接进行拆分:
tencent:// 协议头
message地址
uin=123456789&Site=qq&Menu=yes 参数
通过协议头找到系统中对应的程序,通过注册表HKEY_CLASSES_ROOT\Tencent找到。
注:tencent://中的tencent就是HKEY_CLASSES_ROOT下的Tencent,名一样,不区分大小写。
再找到注册表HKEY_CLASSES_ROOT\Tencent\shell\open\command下的运行参数:
"D:\Program Files (x86)\Tencent\QQ\Bin\Timwp.exe" "%1"
%1 就是自定义协议中的所有内容
这时就知道如何运行了:
"D:\Program Files (x86)\Tencent\QQ\Bin\Timwp.exe" "tencent://message/?uin=123456789&Site=qq&Menu=yes"