CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  网络编程

“有事QQ我!” 是怎么实现的?怎么实现类似的功能?<br>“有事QQ我!” 是怎么实现的?

楼主superdbs(*)2005-08-01 21:26:55 在 VC/MFC / 网络编程 提问

“有事QQ我!”是怎么实现的?怎么实现类似的功能?  
   
  现在很多软件如QQ,alibaba的贸易通,都可以在网页上“启动”,还可以显示在线状态。这是怎么实现的?如何做出类似效果?  
   
  而且,他们的实现方式还似乎不一样:QQ是连接一个网址,我也不知道是不是通过CGI来处理的;  
  而alibaba的贸易通是通过javascript调用什么对象来判断进而实现的。……  
   
  想实现类似的功能,请高人指点。或者有更好的方式,谢谢赐教!  
  问题点数:100、回复次数:19Top

1 楼superdbs(*)回复于 2005-08-01 22:31:12 得分 0

没有人来,自己灌  
   
  刚才上了QQ网站看看(http://imis.qq.com/webpresence/help/help.shtml#04),他是这样说明的:  
   
  <a   target=blank   href=http://wpa.qq.com/msgrd?V=1&Uin=80000816&Exe=QQ&Site=im.qq.com&Menu=No>  
  <img   border="0"   SRC=http://wpa.qq.com/pa?p=1:80000816:1   alt="给我发消息"></a>  
   
    1、取状态图片接口:  
          接口样例:http://wpa.qq.com/pa?p=1:80000816:1  
   
          说明:Web网页中可引用此接口,来获得指定QQ用户的在线状态;该接口返回一张图片来表示用户当前的在线状态;目前,系统只支持“在线”和“离线”两种状态;  
          CGI   URL:http://wpa.qq.com/pa?  
  参数:  
          P=以冒号“:”分隔多个参数  
          第一个参数为版本号,目前为1;  
          第二个为QQ/TM号码;  
          第三个参数为图像风格  
    2.发起临时会话接口:  
          接口样例:http://wpa.qq.com/msgrd?V=1&Uin=80000816&Exe=QQ&Site=im.qq.com&Menu=No  
          说明:浏览网站的用户可点击此链接,发起针对发布状态的用户的临时会话;  
          CGI   URL:http://wpa.qq.com/msgrd?     参数  
   
  那就是说:点击这个链接,CGI来处理这个消息,QQ服务器就发送一个指令回到本地,打开本地QQ聊天窗口。但有一个问题:当QQ没有启动时,他是怎么来处理这个消息的?那个“QQ没有启动”的提示又是怎么生成的呢?  
  Top

2 楼CodeKey()回复于 2005-08-01 22:34:28 得分 8

是不是用的控件呢,  
  因为安装软件的时候就可以把这些东东注册了  
  然后在网页里调用就是了Top

3 楼goodboyws(深夜不眠者(VCMVP))回复于 2005-08-01 22:53:29 得分 8

通过脚本调用程序Top

4 楼superdbs(*)回复于 2005-08-01 22:59:44 得分 0

谢谢  
  就是说通过网页调用本地的控件?Top

5 楼superdbs(*)回复于 2005-08-01 23:05:02 得分 0

那alibaba的贸易通是不是直接就判断有没有组件,然后决定做什么,他的这种处理方式比QQ好?简单点?  
  Top

6 楼yq3woaini(哈哈镜 选择好心情)回复于 2005-08-01 23:27:06 得分 50

这个分我要定了:       解答如下:    
  这是QQ的程序在注册表中留下的:  
  Windows   Registry   Editor   Version   5.00  
   
  [HKEY_CLASSES_ROOT\Tencent]  
  @="TencentProtocol"  
  "URL   Protocol"="C:\\Program   Files\\Tencent\\QQ\\Timwp.exe"  
   
  [HKEY_CLASSES_ROOT\Tencent\DefaultIcon]  
  @="C:\\Program   Files\\Tencent\\QQ\\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\\Timwp.exe\"   \"%1\""  
   
   
  这是他的classid  
  Windows   Registry   Editor   Version   5.00  
   
  [HKEY_CLASSES_ROOT\TimwpDll.TimwpCheck]  
  @="TimwpDll.TimwpCheck"  
   
  [HKEY_CLASSES_ROOT\TimwpDll.TimwpCheck\CLSID]  
  @="{ED4CA2E5-0EEA-44C1-AD7E-74A07A7507A4}"  
   
   
  //阿里巴巴在注册表中写的信息如下:  
  Windows   Registry   Editor   Version   5.00  
   
  [HKEY_CLASSES_ROOT\Alitalk]  
  "URL   Protocol"=""  
   
  [HKEY_CLASSES_ROOT\Alitalk\Shell]  
   
  [HKEY_CLASSES_ROOT\Alitalk\Shell\Open]  
   
  [HKEY_CLASSES_ROOT\Alitalk\Shell\Open\Command]  
  @="\"E:\\Program   Files\\阿里巴巴\\贸易通\\AliTalk.exe\"   %1"  
   
   
  你可以在地址栏中输入:     Alitalk://message看一下效果就知道了  
   
   
   
   
  你在注册表中写入如下信息:  
  //yqyq  
   
   
  Windows   Registry   Editor   Version   5.00  
   
  [HKEY_CLASSES_ROOT\YQYQ]  
  "URL   Protocol"="C:\\YQ.exe"  
   
  [HKEY_CLASSES_ROOT\YQYQ\shell]  
   
  [HKEY_CLASSES_ROOT\YQYQ\shell\open]  
   
  [HKEY_CLASSES_ROOT\YQYQ\shell\open\command]  
  @="\"C:\\YQ.exe\"   \"%1\""  
   
   
  然后在地址栏中输入:     yqyq://message  
  看一下效果   就知道了  
   
  具体原理   ,回头告诉你.   哈哈镜Top

7 楼horisly(SUN YAT-SEN UNIVERSITY (逸仙先生))回复于 2005-08-02 00:11:59 得分 8

markTop

8 楼WecanHuang(曾阿牛)回复于 2005-08-02 00:16:53 得分 8

upTop

9 楼superdbs(*)回复于 2005-08-02 11:57:43 得分 0

谢谢大家!  
   
  归纳一下问题就是:点击网页,判断有没有安装软件:有,启动执行;没有,打开网址。  
   
  有朋友有好的建议吗?Top

10 楼superdbs(*)回复于 2005-08-02 17:55:02 得分 0

upTop

11 楼superdbs(*)回复于 2005-08-02 20:49:51 得分 0

upTop

12 楼AntonlioX(做人要厚道)回复于 2005-08-02 21:36:36 得分 8

up  
  Top

13 楼yuanquande(醉公子)回复于 2005-08-02 21:36:53 得分 2

大家讨论什么啊,这就是QQ的在线状态功能,打开QQ的菜单就有,晕死。申请完,把HTML代码放到你要放的网页里就行了。Top

14 楼superdbs(*)回复于 2005-08-02 22:12:43 得分 0

不要晕死。你可以告诉我在哪里看他是怎么实现的吗?谢谢。  
  Top

15 楼superdbs(*)回复于 2005-08-03 13:43:35 得分 0

按照yq3woaini的方法,已经可以在网页中启动程序了。  
   
  接下来的工作就是  
  1、如何判断有没有安装软件  
  2、调用的程序以及调用的接口问题。  
   
  一步一步来,希望得到您的指导……  
   
  Top

16 楼superdbs(*)回复于 2005-08-03 19:11:26 得分 0

问题2已经解决。  
  在网页中,可以通过网页来调用:  
  <a   href="test://message"   >点这里</a>  
   
  关键点:  
  1. test是我们构造的协议,如同eMule的eD2k链接;  
  2. 调用格式:test:+[参数],注意,“test:”可不带参数,但必须完整。如:test:aaa:bbb:ccc  
  3. 程序通过命令行获得的参数为:“   “test:+[任意形式参数]”   ”,你只需把它当字符串来操作。  
   
  现在只剩下一个问题了:如何在网页中判断有没有安装软件?  
  一向奉行知识分享,希望得到您的指导……  
  Top

17 楼iceqings(小西瓜)回复于 2005-08-03 19:13:45 得分 0

欢迎加入Visual   C++   开发   QQ群  
   
  群号:9643456Top

18 楼iceqings(小西瓜)回复于 2005-08-03 19:18:58 得分 8

欢迎加入Visual   C++   开发   QQ群  
   
  群号:9643456  
   
  有不能解决的问题吗,加入我们,让我们共同解决Top

19 楼superdbs(*)回复于 2005-08-05 22:41:01 得分 0

没事时想想,还是把问题解决了。很高兴的  
   
  有时间我给他整理下  
   
  结贴。  
  Top

相关问题

  • “有事QQ我!” 是怎么实现的?怎么实现类似的功能?<br>“有事QQ我!” 是怎么实现的?
  • 续 QQ面板隐藏功能实现
  • 如何实现QQ拉缩功能?
  • 用JAVA实现与QQ相同的功能!
  • 关于QQ,怎么实现这个功能?
  • 如何实现类似于QQ的窗口隐藏功能?
  • 如何实现QQ样式的面板功能??
  • 求助:怎样才能实现像QQ分组的功能?
  • 如何实现类似如QQ,MSN远程控制功能
  • 如何实现像QQ、金山词霸等软件皮肤切换的功能。

关键词

  • visual c++
  • 网页
  • 接口
  • 安装
  • 软件
  • root
  • 解决
  • cgi
  • 用户
  • qq

得分解答快速导航

  • 帖主:superdbs
  • CodeKey
  • goodboyws
  • yq3woaini
  • horisly
  • WecanHuang
  • AntonlioX
  • yuanquande
  • iceqings

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo