如何在手机浏览器网页中唤起的QQ聊天

梦宇飞 2019-06-14 09:41:46
<a target="_blank" style="color:#fff" href="mqqwpa://im/chat?chat_type=wpa&uin=1234567field='qq'}>&version=1&src_type=web&web_src=www.nbftjg.net">
123456789
</a>

该代码在qq 或微信浏览器中 及苹果浏览器无法唤起的QQ聊天





...全文
427 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
各位朋友做协议时应该见过如下url: tencent://message/?uin=88888Site=bbs.125.laMenu=yes 复制代码 在浏览器里打开这个连接,会唤起qq聊天窗口,并且根据传递的参数88888,打开了与88888的强制聊天窗口,如下图: 又比如打开浏览器,输入 steam://install/943700 复制代码 居然会唤起steam的安装界面,安装某个游戏。 是否想知道他们是如何实现的呢? 通过注册表的探索,发现了秘密: 导出注册表查看: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\steam] @="URL:steam protocol" "URL Protocol"="" [HKEY_CLASSES_ROOT\steam\DefaultIcon] @="Steam.exe" [HKEY_CLASSES_ROOT\steam\Shell] [HKEY_CLASSES_ROOT\steam\Shell\Open] [HKEY_CLASSES_ROOT\steam\Shell\Open\Command] @="\"C:\\Program Files (x86)\\Steam\\Steam.exe\" -- \"%1\"" 原来是在这里的定义了私有协议,我们依葫芦画瓢,来定义一个自己的私有协议“Mofei”吧。 构造一个注册表: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Mofei] @="URL:Mofei Protocol Handler" "URL Protocol"="" [HKEY_CLASSES_ROOT\Mofei\shell] [HKEY_CLASSES_ROOT\Mofei\shell\open] [HKEY_CLASSES_ROOT\Mofei\shell\open\command] @="C:\\Users\\Administrator\\Desktop\\test.exe \"%1\"" 以上代码"Mofei"为需要注册的协议名,例如Tencent/steam。 下面的 HKEY_CLASSES_ROOT\Mofei\shell\open\command的键值“ C:\\Users\\Administrator\\Desktop\\test.exe ”为要处理的程序的路径。 可以将以上代码通过记事本保存为xx.reg,双击此注册表文件导入。也可以通过精易模块 自行操作注册表来创建表项和键值。 此一步的目的是告诉windows,假如计算机请求的url是以"mofei://"为开头,就交给注册表用户自定义的程序来处理,且整个请求的url内容作为启动参数,传递给应用程序。 例如在你的浏览器打开 "mofei://hahaha",此时windows将会启动我们设定的test.exe程序,并且将"mofei://hahaha"作为启动参数传递给test.exe。 现在我们启动易语言 ,新建一个空白无窗口程序,写下如下代码: 窗口程序集名 保 留 保 留 备 注 程序集1 子程序名 返回值类型 公开 备 注 _启动子程序 整数型 请在本子程序放置动态链接库初始化代码 变量名 类 型 静态 数组 备 注 aa 文本型 0 取命令行 ( aa) 信息框 ( aa[ 1] , 0, ,) 返回 ( 0) ' 返回值被忽略。 将程序编译为test.exe,放置到桌面上(我们事先定义的路径)。 现在,我们打开任意浏览器(大部分浏览器都支持私有协议),输入我们注册的"mofei://hahaha",处于安全考虑,首次使用新注册的私有协议时浏览器程序会先询问是否允许,选择允许即可。 于是,你看到了如下界面,此时我们自己注册的私有协议就成功的拉起了我们的程序。 firefox和chrome都可以哦: 现在,我们可以取出参数供我们的程序使用。 窗口程序集名 保 留 保 留 备 注 程序集1 子程序名 返回值类型 公开 备 注 _启动子程序 整数型 请在本子程序放置动态链接库初始化代码 变量名 类 型 静态 数组 备 注 aa 文本型 0 取命令行 ( aa) 信息框 ( 取文本间 ( aa[ 1] , 9,取文本长度 ( aa[ 1] ) - 9) , 0, ,) 返回 ( 0) ' 返回值被忽略。 用firefox来看一下执行结果。 个别浏览器会对传入的文参数进行url编码,例如chrome,如果你的程序未判断参数编码,就会造成如下状况,如下演示: 不止是浏览器可以唤起,连windows的资源管理器也可以唤起哦。 甚至连易语言也可以唤起哦。 方

39,084

社区成员

发帖
与我相关
我的任务
社区描述
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
社区管理员
  • HTML5社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧