📄 qqdefine.h
字号:
#ifndef QQ_DEFINE_FILE
#define QQ_DEFINE_FILE
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define QQ_UDP_HEADER_LENGTH 7
#define QQ_TCP_HEADER_LENGTH 9
#define QQ_PACKET_TAG 0x02 // all QQ text packets starts with it
#define QQ_PACKET_TAIL 0x03 // all QQ text packets end with it
#define QQ_2004_II 0x0c49
#define QQ_2005_B1 0x0d05
#define QQ_2005_B2 0x0d51
#define QQ_2005_B3 0x0e0d
#define QQ_2005 0x0e1b //2005 正式版本
#define QQ_2006 0x0f15
#define QQ_2006_SP1 0x0f1f
#define TM_2006 0x0f0c
#define QQ_CLIENT QQ_2006_SP1
#define TM_CLIENT TM_2006
//密钥长度
#define QQ_KEY_LENGTH 16
//登陆信息头长度
#define QQ_LOGIN_DATA_LENGTH 69 //length of plain login packet
/** 消息编码,好像可以自己胡乱定义 */
#define QQ_CHARSET_GB 0x8602
#define QQ_CHARSET_EN 0x0000
#define QQ_CHARSET_BIG5 0x8603
// 和虚拟摄像头有关系
/** 显示虚拟摄像头 */
#define QQ_CAM_SHOW_FAKE 1
/** 隐藏虚拟摄像头 */
#define QQ_CAM_DONT_SHOW_FAKE 0
/** 正常登陆 */
#define QQ_LOGIN_MODE_NORMAL 0x0A
/** 隐身登陆 */
#define QQ_LOGIN_MODE_HIDDEN 0x28
/** 在线状态-在线 */
#define QQ_STATUS_ONLINE 10 //0x0A
/** 在线状态-离线 */
#define QQ_STATUS_OFFLINE 20 //0x14
/** 在线状态-离开 */
#define QQ_STATUS_AWAY 30 //0x1E
/** 在线状态-隐身 */
#define QQ_STATUS_HIDDEN 40 //0x28
// 回复常量
/** 通用常量,操作成功 */
#define QQ_REPLY_OK 0x00
/** 请求登录令牌成功 */
#define QQ_REPLY_REQUEST_LOGIN_TOKEN_OK 0x00
/** 登录信息-重定向 */
#define QQ_REPLY_LOGIN_REDIRECT 0x01
/** 登录信息-密码错误 */
#define QQ_REPLY_LOGIN_PASSWORD_ERROR 0x05
/** 改变在线状态成功 */
#define QQ_REPLY_CHANGE_STATUS_OK 0x30
/** 消息发送成功 */
#define QQ_REPLY_SEND_IM__OK 0x00
/** 命令常量 - 登出 */
#define QQ_CMD_LOGOUT 0x0001
/** 命令常量 - 保持在线状态 */
#define QQ_CMD_KEEP_ALIVE 0x0002
/** 命令常量 - 修改自己的信息 */
#define QQ_CMD_MODIFY_INFO 0x0004
/** 命令常量 - 查找用户 */
#define QQ_CMD_SEARCH_USER 0x0005
/** 命令常量 - 得到好友信息 */
#define QQ_CMD_GET_USER_INFO 0x0006
/** 命令常量 - 添加一个好友 */
#define QQ_CMD_ADD_FRIEND 0x0009
/** 命令常量 - 删除一个好友 */
#define QQ_CMD_DELETE_FRIEND 0x000A
/** 命令常量 - 发送验证信息 */
#define QQ_CMD_ADD_FRIEND_AUTH 0x000B
/** 命令常量 - 改变自己的在线状态 */
#define QQ_CMD_CHANGE_STATUS 0x000D
/** 命令常量 - 确认收到了系统消息 */
#define QQ_CMD_ACK_SYS_MSG 0x0012
/** 命令常量 - 发送消息 */
#define QQ_CMD_SEND_IM 0x0016
/** 命令常量 - 接收消息 */
#define QQ_CMD_RECV_IM 0x0017
/** 命令常量 - 把自己从对方好友名单中删除 */
#define QQ_CMD_REMOVE_SELF 0x001C
/** 请求一些操作需要的密钥,比如文件中转,视频也有可能 */
#define QQ_CMD_REQUEST_KEY 0x001D
/** 命令常量 - 登陆 */
#define QQ_CMD_LOGIN 0x0022
/** 命令常量 - 得到好友列表 */
#define QQ_CMD_GET_FRIEND_LIST 0x0026
/** 命令常量 - 得到在线好友列表 */
#define QQ_CMD_GET_FRIEND_ONLINE 0x0027
/** 命令常量 - 发送短消息 */
#define QQ_CMD_SEND_SMS 0x002D
/** 命令常量 - 群相关命令 */
#define QQ_CMD_CLUSTER_CMD 0x0030
/** 命令常量 - 测试连接 */
#define QQ_CMD_TEST 0x0031
/** 命令常量 - 分组数组操作 */
#define QQ_CMD_GROUP_DATA_OP 0x003C
/** 命令常量 - 上传分组中的好友QQ号列表 */
#define QQ_CMD_UPLOAD_GROUP_FRIEND 0x003D
/** 命令常量 - 好友相关数据操作 */
#define QQ_CMD_FRIEND_DATA_OP 0x003E
/** 命令常量 - 下载分组中的好友QQ号列表 */
#define QQ_CMD_DOWNLOAD_GROUP_FRIEND 0x0058
/** 命令常量 - 好友等级信息相关操作 */
#define QQ_CMD_FRIEND_LEVEL_OP 0x005C
/** 命令常量 - 群数据操作命令 */
#define QQ_CMD_CLUSTER_DATA_OP 0x005F
/** 命令常量 - 好友高级查找 */
#define QQ_CMD_ADVANCED_SEARCH 0x0061
/** 命令常量 - 请求登录令牌 */
#define QQ_CMD_REQUEST_LOGIN_TOKEN 0x0062
/** 命令常量 - 发送临时消息 */
#define QQ_CMD_SEND_IM_TEMP 0x0066
/** 命令常量 - 接收到系统消息 */
#define QQ_CMD_RECV_MSG_SYS 0x0080
/** 命令常量 - 好友改变状态 */
#define QQ_CMD_RECV_MSG_FRIEND_CHANGE_STATUS 0x0081
/** 命令常量 - 发送验证,请求加为好友 */
#define QQ_CMD_ADD_FRIEND_REQUEST_AUTH 0x00A8
/** 命令常量 - 未知命令,调试用途 */
#define QQ_CMD_UNKNOWN 0xFFFF
/** 消息回复类型 - 正常回复 */
#define QQ_IM_NORMAL_REPLY 0x01
/** 消息回复类型 - 自动回复 */
#define QQ_IM_AUTO_REPLY 0x02
// 消息类型,就是ReceiveIMHeader中的类型,对于有些类型,我们做为通知来处理
// 而不是显示在消息窗口中,比如请求加入,验证之类的消息
/** 来自好友的消息 */
#define QQ_RECV_IM_FRIEND 0x0009
/** 来自陌生人的消息 */
#define QQ_RECV_IM_STRANGER 0x000A
/** 手机短消息 - 普通绑定用户 */
#define QQ_RECV_IM_SMS 0x000B
/** 手机短消息 - 移动QQ用户 */
#define QQ_RECV_IM_MOBILE_QQ 0x0013
/** 临时消息 */
#define QQ_RECV_TM_TEMP 0x001F
/** 未知类型的群消息,在2003时是普通群消息 */
#define QQ_RECV_IM_UNKNOWN_CLUSTER 0x0020
/** 通知我被加入到一个群,这个群先前已经建立,我是后来被加的 */
#define QQ_RECV_IM_ADDED_TO_CLUSTER 0x0021
/** 我被踢出一个群 */
#define QQ_RECV_IM_DELETED_FROM_CLUSTER 0x0022
/** 有人请求加入群 */
#define QQ_RECV_IM_REQUEST_JOIN_CLUSTER 0x0023
/** 同意对方加入群 */
#define QQ_RECV_IM_APPROVE_JOIN_CLUSTER 0x0024
/** 拒绝对方加入群 */
#define QQ_RECV_IM_REJECT_JOIN_CLUSTER 0x0025
/** 通知我被加入到一个群,我是在群被创建的时候就被加的 */
#define QQ_RECV_IM_CREATE_CLUSTER 0x0026
/** 临时群消息 */
#define QQ_RECV_IM_TEMP_CLUSTER 0x002A
/** 固定群消息 */
#define QQ_RECV_IM_CLUSTER 0x002B
/** 收到的系统消息 */
#define QQ_RECV_IM_SYS_MESSAGE 0x0030
/** 好友修改了修改签名 */
#define QQ_RECV_IM_SIGNATURE_CHANGED 0x0041
// 系统消息类型
/** 同一个QQ号在其他地方登录,我被踢出 */
#define QQ_RECV_IM_KICK_OUT 0x01
// 消息类型,这个类型比上面的类型又再低一级,他们基本从属于QQ_RECV_IM_TO_BUDDY
// 所以他们是normalIMHeader中的类型
/** 普通文件消息 */
#define QQ_IM_TYPE_TEXT 0x000B
/** 一个TCP连接请求 */
#define QQ_IM_TYPE_TCP_REQUEST 0x0001
/** 接收TCP连接请求 */
#define QQ_IM_TYPE_ACCEPT_TCP_REQUEST 0x0003
/** 拒绝TCP连接请求 */
#define QQ_IM_TYPE_REJECT_TCP_REQUEST 0x0005
/** UDP连接请求 */
#define QQ_IM_TYPE_UDP_REQUEST 0x0035
/** 接受UDP连接请求 */
#define QQ_IM_TYPE_ACCEPT_UDP_REQUEST 0x0037
/** 拒绝UDP连接请求 */
#define QQ_IM_TYPE_REJECT_UDP_REQUEST 0x0039
/** 通知文件传输端口 */
#define QQ_IM_TYPE_NOTIFY_IP 0x003B
/** 请求对方主动连接 */
#define QQ_IM_TYPE_ARE_YOU_BEHIND_FIREWALL 0x003F
/** 未知含意 */
#define QQ_IM_TYPE_ARE_YOU_BEHIND_PROXY 0x0041
/** 未知含意,0x0041的回复 */
#define QQ_IM_TYPE_YES_I_AM_BEHIND_PROXY 0x0042
/** 通知文件中转服务器信息 */
#define QQ_IM_TYPE_NOTIFY_FILE_AGENT_INFO 0x004B
/** 取消TCP或者UDP连接请求 */
#define QQ_IM_TYPE_REQUEST_CANCELED 0x0049
//群消息子命令
/** 群操作命令 - 创建群 */
#define QQ_CLUSTER_CMD_CREATE_CLUSTER 0x01
/** 群操作命令 - 修改群成员 */
#define QQ_CLUSTER_CMD_MODIFY_MEMBER 0x02
/** 群操作命令 - 修改群资料 */
#define QQ_CLUSTER_CMD_MODIFY_CLUSTER_INFO 0x03
/** 群操作命令 - 得到群资料 */
#define QQ_CLUSTER_CMD_GET_CLUSTER_INFO 0x04
/** 群操作命令 - 激活群 */
#define QQ_CLUSTER_CMD_ACTIVATE_CLUSTER 0x05
/** 群操作命令 - 搜索群 */
#define QQ_CLUSTER_CMD_SEARCH_CLUSTER 0x06
/** 群操作命令 - 加入群 */
#define QQ_CLUSTER_CMD_JOIN_CLUSTER 0x07
/** 群操作命令 - 加入群的验证消息 */
#define QQ_CLUSTER_CMD_JOIN_CLUSTER_AUTH 0x08
/** 群操作命令 - 退出群 */
#define QQ_CLUSTER_CMD_EXIT_CLUSTER 0x09
/** 群操作命令 - 发送群消息 */
#define QQ_CLUSTER_CMD_SEND_IM 0x0A
/** 群操作命令 - 得到在线成员 */
#define QQ_CLUSTER_CMD_GET_ONLINE_MEMBER 0x0B
/** 群操作命令 - 得到成员资料 */
#define QQ_CLUSTER_CMD_GET_MEMBER_INFO 0x0C
/** 群操作命令 - 扩展格式的群消息 */
#define QQ_CLUSTER_CMD_SEND_IM_EX 0x1A
/** 群操作命令 - 创建临时群 */
#define QQ_CLUSTER_CMD_CREATE_TEMP_CLUSTER 0x30
/** 群操作命令 - 修改临时群成员列表 */
#define QQ_CLUSTER_CMD_MODIFY_TEMP_CLUSTER_MEMBER 0x31
/** 群操作命令 - 退出临时群 */
#define QQ_CLUSTER_CMD_EXIT_TEMP_CLUSTER 0x32
/** 群操作命令 - 得到临时群资料 */
#define QQ_CLUSTER_CMD_GET_TEMP_CLUSTER_INFO 0x33
/** 群操作命令 - 发送临时群消息 */
#define QQ_CLUSTER_CMD_SEND_TEMP_CLUSTER_IM 0x35
/** 群操作命令 - 得到临时群成员列表 */
#define QQ_CLUSTER_CMD_GET_TEMP_CLUSTER_MEMBERS 0x37
/** 群操作命令回复 - 成功 */
#define QQ_CLUSTER_CMD_REPLY_OK 0x00
/** 群操作命令回复 - 不存在这个群 */
#define QQ_CLUSTER_CMD_REPLY_NO_SUCH_CLUSTER 0x02
/** 群操作命令回复 - 群已经被删除 */
#define QQ_CLUSTER_CMD_REPLY_TEMP_CLUSTER_REMOVED 0x03
/** 群操作命令回复 - 你已经不是临时群的成员 */
#define QQ_CLUSTER_CMD_REPLY_NOT_TEMP_CLUSTER_MEMBER 0x04
/** 群操作命令回复 - 你已经不是固定群的成员 */
#define QQ_CLUSTER_CMD_REPLY_NOT_CLUSTER_MEMBER 0x0a
/** 群类型常量 - 固定群 */
#define QQ_CLUSTER_TYPE_PERMANENT 0x01
/** 临时群类型常量 - 多人对话 */
#define QQ_TEMP_CLUSTER_TYPE_DIALOG 0x01
/** 临时群类型常量 - 讨论组 */
#define QQ_TEMP_CLUSTER_TYPE_SUBJECT 0x02
/** 群操作子命令 - 添加成员,用在修改成员列表命令中 */
#define QQ_CLUSTER_MEMBER_ADD 0x01
/** 群操作子命令 - 删除成员,用在修改成员列表命令中 */
#define QQ_CLUSTER_MEMBER_REMOVE 0x02
/** 群认证类型 - 不需认证 */
#define QQ_CLUSTER_NO_AUTH 0x01
/** 群认证类型 - 需要认证 */
#define QQ_CLUSTER_NEED_AUTH 0x02
/** 群认证类型 - 拒绝任何人加入 */
#define QQ_CLUSTER_NO_ADD 0x03
/** 群认证消息类型 - 请求加入群 */
#define QQ_CLUSTER_AUTH_REQUEST 0x01
/** 群认证消息类型 - 同意加入群 */
#define QQ_CLUSTER_AUTH_APPROVE 0x02
/** 群认证消息类型 - 拒绝加入群 */
#define QQ_CLUSTER_AUTH_REJECT 0x03
/** 加入群的回复码 - 加入成功 */
#define QQ_CLUSTER_JOIN_OK 0x01
/** 加入群的回复码 - 对方需要认证 */
#define QQ_CLUSTER_JOIN_NEED_AUTH 0x02
/** 加入群的回复码 - 群禁止加入 */
#define QQ_CLUSTER_JOIN_DENIED 0x03
/** 群的搜索方式 - 根据群号搜索 */
#define QQ_SEARCH_CLUSTER_BY_ID 0x01
/** 群的搜索方式 - 搜索示范群 */
#define QQ_SEARCH_DEMO_CLUSTER 0x02
// 群消息的content type
/** 消息中不包含自定义表情 */
#define DEFAULT_CONTENT 0x0001
/** 消息中包含自定义表情 */
#define RICH_CONTENT 0x0002
////////////////////////////////////////////////////////////////////////////////
extern char *UDPServer[];
extern char *TCPServer[];
extern DWORD UDPServerNum;
extern DWORD TCPServerNum;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -