Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1530831
  • 博文数量: 226
  • 博客积分: 3997
  • 博客等级: 少校
  • 技术积分: 2369
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-19 17:26
个人简介

Never save something for a special occasion. Every day in your life is a special occasion.

文章分类

全部博文(226)

文章存档

2018年(5)

2017年(11)

2016年(1)

2015年(17)

2014年(14)

2013年(30)

2012年(5)

2011年(52)

2010年(107)

分类:

2010-11-25 21:22:07

 
QQ快捷聊天通道
1、新建快捷方式,指向“tencent://message/?uin=好友XX的QQ号”;
2、双击快捷方式即可启动QQ与好友XX聊天
 
原理
双击快捷时浏览器会打开地址“tencent://...”,这会调用QQ的协议处理器Timwp.exe,并把地址“tencent://...”传为参数传递给Timwp.exe,然后 Timwp.exe 为我们开启快捷聊天通道。
 
注:
Windows操作系统允许我们为自己的应用程序注册为一个协议处理者。具体参见MSDN上的文章《Registering an Application to a URL Protocol》
 
腾讯的Tencent://Message协议注册表如下:
============QQ_timwp.reg===============
Windows Registry Editor Version 5.00
 
[HKEY_CLASSES_ROOT\Tencent]
@="TencentProtocol"
"URL Protocol"="D:\\Program Files\\Tencent\\QQ\\Timwp.exe"
[HKEY_CLASSES_ROOT\Tencent\DefaultIcon]
@="D:\\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]
@="\"D:\\Program Files\\Tencent\\QQ\\Timwp.exe\" \"%1\""
====================================
 
不修改注册表也可以实现向 Timwp.exe 传递参数。
打开cmd命令窗口,进入 Timwp.exe 所在位置(与QQ.exe同在一个目录下),然后执行如下命令即可打开与好友的聊天对话框
E:\AnZhuang\QQ2009\Bin>timwp "tencent://message/?uin=好友的QQ"
 
你可以建立一个脚本文件 chat.bat,一个配置文件 qqList.txt 实现无鼠标下的QQ聊天。
 
原理
chat.bat接受一个好友名称作为参数,在qqList.txt中找到相应的QQ号,然后将“tencent://message/?uin=好友的QQ”作为参数传递给 Timwp.exe,从而开启QQ快捷聊天通道。
 
 
代码
环境:操作系统XP
 
 
==============chat.bat=================
@echo off
rem 请根据你的情况修改qqPath
set qqPath=E:\AnZhuang\QQ2009\Bin\
if "%1"=="" (
set /p name=Name:
) else (
set name=%1)
echo -----------------------QQList.txt--------------------------
for /f "eol=; tokens=1,2,* delims=, usebackq" %%i in ("%~dp0\QQList.txt") do (
echo %%i, %%j, %%k
if "%%i"=="%name%" (
start "software" "%qqPath%\timwp.exe" tencent://message/?uin=%%j
rem pause
goto :eof
)
)
echo ------------------------end----------------------------
echo Undefined Name ^(%name%^) in QQList.txt
pause>nul
cls
====================================
 
 

 

 ===============QQList.txt================
; _name,_id, else(class, fullName)
; name,id 是必须字段
; 分号开始的行为注释
; 注意,不要有多余空格,QQ号前面的空格将导致chat.bat失败

hz,810658321,大学,宅哥
xlg,496371957,大学,犀利哥
hz,417421832,大学,华仔
====================================

 

建议: 
设置快捷键
 将 chat.bat和QQList.txt放在某目录中,如D:\QQ\,将chat.bat建立快捷方式;
修改快捷方式的属性,指定快捷键 F1。
这样,当你要聊天时按F1,输入好友名称代码,OK

 

补充:
如果你的常联系人很多,可用下面的方法得到 QQList.txt 的数据。 

非会员,如何备份QQ好友?

方法1:
进入QQ秀网站

在地址栏输入下面的网址

这是网上提供的一种方法。
在我机器上行不通。每次进入QQ秀网站都会卡死。

方法2:
进入QQ邮箱→联系人→工具箱:导出邮箱联系人。
导出文件的格式csv。

例如:
==============================
"S老师","","","","","","","","",""
"小明","","","","","","","","",""
"小陈","","","","","","","","",""
==============================

用Editplus的对其进行简单处理即可得到 QQList.txt 的数据源

step1、过滤得到使用QQ邮箱的联系人
正则表达式查找
(].*)
替换为

step2、取得昵称和QQ号
正则表达式查找
^"(.*)","([0-9][0-9]*)@qq.com.*
替换为
\1,\2

step3、将昵称作为第4域(fullName)添加,起提示作用
正则表达式查找
(.*), ([0-9][0-9]*)
替换为
\1,\2,,\1

step4、修改第1域。
一般简化为名字首字母,冲突的可能性不大。
刘德华同学的名字代码定义为ldh
犀利哥的名字代码定义为xlg

 

 

 
阅读(2047) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~