1 / 11
文档名称:

qqapi设计说明书书.doc

格式:doc   大小:145KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

qqapi设计说明书书.doc

上传人:wxnt86 2018/11/20 文件大小:145 KB

下载得到文件列表

qqapi设计说明书书.doc

文档介绍

文档介绍:QQ API设计说明书
深圳腾讯计算机系统有限公司
目录
一、引言 3
编写目的 3
更新时间 3
二、总体设计 3
三、注册的系统消息 3
WM_QQAPI_REGISTER 3
WM_QQAPI_REGISTER_RESP 4
WM_QQAPI_AVAILABLE 4
四、从设备到QQ的自定义事件 5
EVENT_QQAPI_SET_AUDIODEVICE 5
EVENT_QQAPI_GET_USERINFO 5
EVENT_QQAPI_PRESS_KEY 5
EVENT_QQAPI_CALL 6
EVENT_QQAPI_MUTE 6
EVENT_QQAPI_UNREGISTER 7
五、从QQ到设备的自定义事件 7
EVENT_QQAPI_USERINFO 7
EVENT_QQAPI_STATUS_CHANGE 7
EVENT_QQAPI_SHUTDOWN 8
六、双向的自定义事件 8
EVENT_QQAPI_CALL_STATUS 8
七、错误码定义 10
从QQ到设备――EVENT_QQAPI_ERROR 10
八、参数类型码表 11
一、引言
编写目的
本文档提供了QQ API接口说明,以供第三方应用程序使用,用于QQ和硬件设备(例如USB Phone)的交互。
更新时间
最后修订日期:2005-05-24
版本号:
二、总体设计
QQ应用程序和第三方应用程序以收发消息的方式进行通讯。
双方未成功注册之前,采用RegisterWindowMessage(Windows API)注册的系统消息进行交互,注册成功后,双方分别获取对方的窗口句柄,接下来的交互通过收发WM_COPYDATA(Windows消息)消息完成。
WM_COPYDATA的wParam参数为发送方的窗口句柄,lParam为指向COPYDATASTRUCT结构的指针,COPYDATASTRUCT定义如下:
typedef struct tagCOPYDATASTRUCT{
ULONG_PTR dwData;
DWORD cbData;
PVOID lpData;
}COPYDATASTRUCT, *PCOPYDATASTRUCT;
dwData:事件码,标示传送的消息事件码
lpData:消息参数,采用多个相连的“类型(1字节)+长度(4字节)+值”的格式。所有的参数类型码表见8 参数类型码表
cbData:消息参数总长度,单位字节
三、注册的系统消息
第三方程序使用Windows SDK――RegisterWindowMessage,进行下列系统消息的注册。例如:RegisterWindowMessage(“WM_QQAPI_REGISTER”);
WM_QQAPI_REGISTER
消息名:注册消息
方向:设备àQQ
wParam:发送方的窗口句柄
lParam:QQ API版本号,目前为100,。
第三方应用程序启动并检测到可用的设备后,向所有Windows窗口广播这个消息,带上自己的窗口句柄作为消息参数,如下:
SendMessage( HWND_BROADCAST, WM_QQAPI_REGISTER, 发送端窗口句柄, 0);
当QQ收到这个消息时,弹出“外设控制”窗口等待用户选择,如下:
WM_QQAPI_REGISTER_RESP
消息名:注册回复消息
方向:QQà设备
wParam:值如下:
WAITING(1):等待用户选择
OK(2):用户选择“允许使用”
REJECT(3):用户选择“禁止使用”
lParam:当wParam为OK(2)时,lParam为QQ应用程序的窗口句柄。
当用户选择“禁止使用”之后,如果第三方应用程序再次发送WM_QQAPI_REGISTER消息,QQ不再弹出“QQ安全警告”框,直接返回REJECT的WM_QQAPI_REGISTER_RESP消息,直到QQ程序重新启动为止。
WM_QQAPI_AVAILABLE
消息名:QQ API可用消息
方向:QQà设备
wParam:发送方的窗口句柄,即QQ程序的窗口句柄
lParam:QQ API版本号,目前为1
当QQ启动后,向所有Windows窗口广播这个消息:
SendMessage( HWND_BROADCAST, WM_QQAPI_AVAILABLE, QQ窗口句柄, 0);
当第三方应用程序收到这个消息时,再发起W