自定义浏览器协议 实现web调用本地程序

我们都知道QQ有个功能,你只要在网页上点击 发起会话 按钮,就能打开QQ聊天窗口跟别人聊天
例如你打开这个链接:tencent://Message/?Uin=100000 就可以跟调起QQ聊天窗口

那么,这是怎么做到的呢?

不告诉你 哈哈哈哈

我们只需要在注册表里添加几条注册项,就能实现

我们看QQ在注册表里是怎么写的

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Tencent]

"URL Protocol"="C:\\Program Files\\Tencent\\QQ\\Bin\\Timwp.exe"

@="TencentProtocol"

[HKEY_CLASSES_ROOT\Tencent\DefaultIcon]

@="C:\\Program Files\\Tencent\\QQ\\Bin\\Timwp.exe,1"

[HKEY_CLASSES_ROOT\Tencent\shell]

[HKEY_CLASSES_ROOT\Tencent\shell\open]

[HKEY_CLASSES_ROOT\Tencent\shell\open\command]

@="\"C:\\Program Files\\Tencent\\QQ\\Bin\\Timwp.exe\" \"%1\""

所以我们模仿着写一个弹出计算器

建立注册表文件。复制下面代码到记事本,另存为.reg文件即可。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\nmexe]

"URL Protocol"="C:\\WINDOWS\\system32\\calc.exe"

@="TencentProtocol"

[HKEY_CLASSES_ROOT\nmexe\DefaultIcon]

@="C:\\WINDOWS\\system32\\calc.exe,1"

[HKEY_CLASSES_ROOT\nmexe\shell]

[HKEY_CLASSES_ROOT\nmexe\shell\open]

[HKEY_CLASSES_ROOT\nmexe\shell\open\command]

@="\"C:\\WINDOWS\\system32\\calc.exe\" \"%1\""

%1就是参数,如果你做完了上面这一步
那么你就可以打开这个地址:nmexe://123456
就可以打开计算器了,没放进注册表是打不开的

上一篇:修改java jar内容的方法


下一篇:获取指定包路径下所有类的所有方法