亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? common.h

?? 如果應用程序在共享 DLL 中使用 MFC
?? H
字號:
#ifndef NO_OPEN_QQ_COMMON
#define NO_OPEN_QQ_COMMON

#ifndef _Ken_Win32_CKWnd_
class DECLSPEC_NOVTABLE CKWnd{
public:
	HWND m_hWnd;
};
#endif

#define WM_QQ_SOCKET	(WM_USER+1)

class DECLSPEC_NOVTABLE CQQSocketBase{
public:
	virtual void Delete()=0;

	virtual int Recv(LPVOID lpBuf,int iSize)=0;
	virtual int RecvFrom(LPVOID lpBuf,int iSize,DWORD &ServerIP,WORD &ServerPort)=0;
	virtual int Send(LPCVOID lpBuf,int iSize)=0;
	virtual int SendTo(LPCVOID lpBuf,int iSize)=0;

	virtual BOOL IsValid() const=0;
	virtual void Close(BOOL IsSendRecv=FALSE)=0;
	virtual BOOL Connect(DWORD ServerIP,WORD ServerPort)=0;
	virtual BOOL ReConnect(DWORD ServerIP,WORD ServerPort)=0;
	virtual BOOL Bind(DWORD saddr=INADDR_ANY,WORD localport=0)=0;
	virtual BOOL SetEventHandle(HWND hWnd,DWORD Msg=WM_QQ_SOCKET,long lEvent=FD_READ)=0;

	SOCKET m_Socket;
	BOOL m_IsTCP;
	DWORD m_ServerIP;
	WORD m_ServerPort;
};

struct TQQPacketRecvHead{
	BYTE m_Header_Tag;
	WORD m_Source_Tag;
	WORD m_Cmd;
	WORD m_Seq;

	DWORD m_ServerIP;
	WORD m_ServerPort;
};

struct TRecvIMHead{
	DWORD m_FromID;
	DWORD m_MyID;
	DWORD m_ServerIP;
	WORD m_ServerPort;
	WORD m_Result;
};

struct TQQDataBase{
	DWORD m_QQ;
	BYTE m_Password[16];//二次MD5后的密碼
	BYTE m_Status;//在線狀態
	BOOL m_UseTM;//是否使用TM登陸
	BOOL m_HasVideo;//視頻
};

class CQQGuiWndBase;
class CQQPacketBase;
class CQQConfigBase;
struct TQQClientDataEx;

class DECLSPEC_NOVTABLE CQQClientBase : public TQQDataBase{
public:
	virtual void Delete()=0;

	virtual void SetLoginPassword(LPCSTR lpPassword)=0;
	virtual void Login()=0;
	virtual void Logout()=0;
	virtual void KeepAlive()=0;
	virtual void ChangeStatus()=0;
	virtual CQQPacketBase *GetSendIMMsgPacket(DWORD TOID,LPCSTR lpMsg,LPCSTR lpFont,DWORD FontColor,BYTE FontFlag/*=9*/,BYTE replyType/*=QQ_IM_NORMAL_REPLY*/,WORD HeadIcon=0)=0;

	virtual void PushPacket(CQQPacketBase *lpQQPacket)=0;
	virtual CQQPacketBase *PopPacket()=0;
	virtual BOOL TransportPacket()=0;

	virtual TQQClientDataEx *ReAllocDataEx(int iSize)=0;

	void (*m_lpOnEvent)(CQQClientBase *This,DWORD Event,WPARAM wParam,LPARAM lParam);
	void (*m_lpOnRecvData)(CQQClientBase *This);
	BOOL (*m_lpOnRecvCmd)(CQQClientBase *This,TQQPacketRecvHead *lpRecvHead,CQQPacketBase *lpRecvPacket);
	void (*m_lpOnRecvIM1)(CQQClientBase *This,CQQPacketBase *lpRecvPacket);
	void (*m_lpOnRecvIM2)(CQQClientBase *This,CQQPacketBase *lpRecvPacket,TRecvIMHead *lpRecvIMHead);

	CQQSocketBase *m_lpSocket;

	WORD m_Ver;
	BYTE m_KeyData[16];
	BYTE *m_Token;//登錄令牌
	BYTE m_TokenLen;//登錄令牌長度
	WORD m_Seq;
	BOOL m_IsLogin;
	BOOL m_IsBeginLogin;
	DWORD m_KeepAliveFail;
	BYTE m_LastStatus;

	CQQGuiWndBase *m_lpGuiWndBase;
	TQQClientDataEx *m_lpClientDataEx;
};

class DECLSPEC_NOVTABLE CQQPacketBase{
public:
	virtual void Delete()=0;

	virtual void Reset()=0;
	virtual BYTE *GetBuffer()=0;
	virtual BYTE *GetCurrentBuffer()=0;
	virtual DWORD MaxSize()=0;
	virtual DWORD Size()=0;

	virtual BYTE Read_Byte()=0;
	virtual WORD Read_Word()=0;
	virtual DWORD Read_DWord()=0;
	virtual void Read_Data(LPVOID lpBuffer,int size)=0;

	virtual void Skip(DWORD size)=0;

	virtual void Write_Byte(BYTE Val)=0;
	virtual void Write_Word(WORD Val)=0;
	virtual void Write_DWord(DWORD Val)=0;
	virtual void Write_Data(LPCVOID lpBuffer,int size)=0;

////////////////////////////////////////////////////////////////////////////////
	//virtual void CreateHead(WORD Ver,DWORD qqid,WORD Cmd,WORD &seq)=0;
	virtual void CreateHead(CQQClientBase *lpQQClient,WORD Cmd)=0;
	virtual void WriteTail()=0;
	virtual void MakeCmdPacket(CQQClientBase *lpQQClient,WORD Cmd,LPCVOID lpBody,DWORD size)=0;
	virtual void Encrypt(LPCVOID lpBody,DWORD size,BYTE *keydata)=0;
	virtual void Encrypt(CQQPacketBase *lpBody,BYTE *keydata)=0;
	virtual void SetSeq(WORD Seq)=0;
////////////////////////////////////////////////////////////////////////////////
	virtual BOOL Decrypt(CQQPacketBase *lpRecvPacket,BYTE *keydata)=0;
////////////////////////////////////////////////////////////////////////////////
	virtual BOOL RecvFrom(CQQSocketBase *lpSocketBase,TQQPacketRecvHead *lpRecvHead)=0;
	virtual int SendTo(CQQSocketBase *lpSocketBase)=0;
////////////////////////////////////////////////////////////////////////////////

	int m_iSize;//有可能是接受的數據包大小,也有可能是編碼后大小
};

typedef BOOL (*LPEnumQQClientFun)(CQQClientBase *lpQQClientBase,va_list argptr);
//va_arg(argptr,int);

class DECLSPEC_NOVTABLE CQQGuiWndBase{
public:
	virtual void Delete()=0;

	virtual CKWnd *GetWnd()=0;
	virtual void AddQQClient(CQQClientBase *lpQQClientBase)=0;		//CQQClient 內部自動添加
	virtual void RemoveQQClient(CQQClientBase *lpQQClientBase)=0;	//CQQClient 內部自動刪除
	virtual BOOL EnumQQClient(LPEnumQQClientFun lpFun,...)=0;
	virtual void OnQQClientPushPacket()=0;

	BOOL (*m_lpOnHookMsg)(CQQGuiWndBase *This,UINT Msg,WPARAM wParam,LPARAM lParam,LRESULT &RetV);//返回TRUE則不引用默認消息
	CQQConfigBase *m_lpQQConfigBase;
};

class DECLSPEC_NOVTABLE CQQConfigBase{
public:
	virtual void Delete()=0;

	virtual void LoadConfig()=0;
	virtual void SaveConfig()=0;

	virtual void AddQQGuiWnd(CQQGuiWndBase *lpQQGuiWndBase)=0;		//CQQClient 內部自動添加
	virtual void RemoveQQGuiWnd(CQQGuiWndBase *lpQQGuiWndBase)=0;	//CQQClient 內部自動刪除

	void (*m_lpOnSaveQQClient)(CQQClientBase *lpQQClientBase,IXMLDOMElement *lpElement);
	void (*m_lpOnLoadQQClient)(CQQClientBase *lpQQClientBase,IXMLDOMElement *lpElement);
	void (*m_lpOnLoadAddQQClient)(CQQConfigBase *This,IXMLDOMElement *lpElement);//在自己寫GUI時必需重寫,否則不能加載
	void (*m_lpOnLoadCommon)(CQQConfigBase *This,IXMLDOMElement *lpElement);//讀取全局配置
	void (*m_lpOnSaveCommon)(CQQConfigBase *This,IXMLDOMElement *lpElement);//寫入全局配置
	void (*m_lpOnChangeConfig)(CQQConfigBase *This);//如果在修改任何一個數據時都保存請重寫,建議不要重寫
};
/*
QQStartGui{ [主程序入口 - 插件]
	|CQQConfigBase			->由 QQStartGui 創建
		|CQQGuiWndBase			->自動添加到 CQQConfigBase
			|CQQClientBase			->自動添加到 CQQGuiWndBase
				|CQQSocketBase			->由 CQQClientBase 創建
					|CQQPacketBase			->由 CQQClientBase 或其它創建,由 CQQSocketBase 發送
}QQEndGui [不一定會引用,任何接口引用,由 QQStartGui 控制程序退出]
*/

#define MicroQQ_VER		(0x0000001B)
struct TQQPlugin{
	DWORD dwPluginSize;					//本結構大小
	union{
		DWORD MicroQQVer;					//注意:此版本號不要修改
		struct{
			WORD MicroQQ_MinorVer,MicroQQ_MajorVer;
			//如果 MicroQQ_MajorVer 變化,表明插件需要更新
		};
	};
	BOOL IsNT;							//是否WINNT
	HINSTANCE hInst;					//主程序句柄
	HICON hIcon;
	void (*lpQQStartGui)();
	void (*lpQQEndGui)();
	CQQPacketBase *(*lpNewQQPacket)();	//注意:此接口不可重寫
	CQQSocketBase *(*lpNewQQSocket)();
	CQQClientBase *(*lpNewQQClient)(CQQGuiWndBase *lpGuiWndBase);
	CQQGuiWndBase *(*lpNewQQGuiWnd)(CQQConfigBase *lpQQConfigBase);
	CQQConfigBase *(*lpNewQQConfig)();
};

//extern "C" LPSTR OnInitQQPlugin(TQQPlugin *lpQQPlugin);
typedef LPSTR (*LPOnInitQQPlugin)(TQQPlugin *lpQQPlugin);

extern TQQPlugin m_QQPlugin;
extern TQQPlugin *m_lpQQPlugin;

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱子伦一区| 中文子幕无线码一区tr| 亚洲最大的成人av| 不卡的av中国片| 国产午夜精品久久| 国产一区三区三区| 欧美成人女星排行榜| 免费成人结看片| 欧美一区二区三区视频免费| 日韩精品亚洲专区| 欧美一区二区日韩一区二区| 日韩国产欧美视频| 日韩一区二区电影在线| 日本欧美一区二区在线观看| 91精品国产aⅴ一区二区| 亚洲一区二区三区免费视频| 欧美中文字幕亚洲一区二区va在线 | 91在线小视频| 国产精品女主播av| 91影院在线免费观看| 亚洲乱码国产乱码精品精的特点| 北条麻妃一区二区三区| 精品久久久久久无| 国产大片一区二区| 亚洲欧美一区二区视频| 国产精品一级在线| 国产欧美在线观看一区| 成人av资源在线观看| 国产精品水嫩水嫩| 972aa.com艺术欧美| 亚洲国产成人av| 日韩精品自拍偷拍| 丰满亚洲少妇av| 亚洲精品乱码久久久久久| 精品日产卡一卡二卡麻豆| 91在线porny国产在线看| 久久国产精品色| 亚洲日本一区二区| 精品卡一卡二卡三卡四在线| 色悠久久久久综合欧美99| 国产麻豆精品在线观看| 视频一区中文字幕| 亚洲三级免费观看| 久久精品这里都是精品| 欧美日韩国产美女| 91亚洲男人天堂| 国产另类ts人妖一区二区| 亚洲18女电影在线观看| 国产精品美女久久福利网站| 日韩一区二区在线观看| 欧美色爱综合网| av高清久久久| 成人性色生活片| 国内精品伊人久久久久av影院| 亚洲福利视频一区| 有坂深雪av一区二区精品| 国产日本一区二区| 精品国产乱码久久久久久老虎| 欧洲亚洲国产日韩| 色综合欧美在线| 成人免费视频网站在线观看| 国产一区二区三区在线观看免费| 奇米亚洲午夜久久精品| 亚洲va天堂va国产va久| 亚洲免费观看高清完整| 国产精品美女久久久久aⅴ| 国产无一区二区| 久久精品免视看| 国产亚洲一区二区三区四区| 久久久久久久久久久久电影| 欧美tickling网站挠脚心| 7777精品伊人久久久大香线蕉的| 欧美性色黄大片| 欧美视频中文字幕| 欧美视频中文字幕| 欧美日韩免费在线视频| 欧洲视频一区二区| 欧美中文字幕一区二区三区亚洲 | 国产精品久久久久一区二区三区共| 欧美成人精品1314www| 欧美一级日韩不卡播放免费| 欧美一区二区三区人| 欧美一区二区成人6969| 91精品国产欧美日韩| 欧美成人精品3d动漫h| 精品精品国产高清一毛片一天堂| 精品电影一区二区| 国产日本欧洲亚洲| 国产精品久久影院| 亚洲另类春色国产| 亚洲福利视频一区| 另类小说综合欧美亚洲| 国模娜娜一区二区三区| 懂色av中文一区二区三区| 不卡大黄网站免费看| 日本精品视频一区二区三区| 精品视频一区二区不卡| 欧美成人猛片aaaaaaa| 国产欧美日韩中文久久| 中文字幕一区二区不卡| 亚洲国产毛片aaaaa无费看| 老司机一区二区| 国产a久久麻豆| 欧美中文字幕一区| 日韩免费一区二区| 国产精品污www在线观看| 依依成人综合视频| 日韩成人av影视| 国产91露脸合集magnet| 在线观看一区二区视频| 日韩三级精品电影久久久| 国产精品妹子av| 图片区日韩欧美亚洲| 国产精品资源网站| 91福利区一区二区三区| 日韩欧美在线观看一区二区三区| 国产午夜精品在线观看| 一级日本不卡的影视| 九九精品视频在线看| 91麻豆精东视频| 日韩欧美国产三级| 亚洲免费在线观看视频| 久久99精品久久只有精品| aa级大片欧美| 日韩精品一区二区三区四区视频| 亚洲人成在线播放网站岛国| 日韩av中文字幕一区二区三区| 丰满白嫩尤物一区二区| 欧美日韩国产天堂| 国产日韩欧美a| 丝袜美腿亚洲综合| 91色.com| 久久色中文字幕| 婷婷久久综合九色综合绿巨人 | 日韩va亚洲va欧美va久久| 丰满少妇久久久久久久| 日韩欧美国产小视频| 亚洲国产精品自拍| 99精品1区2区| 久久在线免费观看| 天天色综合成人网| 91久久线看在观草草青青| 久久久亚洲精品石原莉奈| 日日夜夜免费精品视频| 色av成人天堂桃色av| 日本一区二区在线不卡| 激情文学综合丁香| 7777精品伊人久久久大香线蕉经典版下载 | 日韩一区二区三区免费看| 亚洲精品中文字幕在线观看| 国产精品亚洲人在线观看| 884aa四虎影成人精品一区| 综合在线观看色| 国产精品亚洲午夜一区二区三区| 欧美一区二区三区视频在线观看| 亚洲福利一区二区三区| 色偷偷久久人人79超碰人人澡| 国产日本欧美一区二区| 国产一区二区美女| 日韩亚洲国产中文字幕欧美| 亚洲午夜一二三区视频| 91在线一区二区三区| 综合色中文字幕| 波多野洁衣一区| 国产欧美日韩在线看| 国产成人精品网址| 国产日韩精品一区| 国产91在线观看| 亚洲国产高清在线观看视频| 东方aⅴ免费观看久久av| 国产三级欧美三级日产三级99 | 国产精品中文字幕日韩精品 | 日本欧美肥老太交大片| 欧美日韩午夜精品| 视频一区视频二区在线观看| 欧美精品在欧美一区二区少妇| 爽好多水快深点欧美视频| 欧美一区二区国产| 久久国产精品一区二区| 亚洲精品一区二区三区福利| 国产一区二区电影| 中文字幕国产一区二区| 99久久精品免费看国产| 亚洲一区二区在线观看视频| 欧美三片在线视频观看| 丝袜美腿亚洲一区| 欧美va日韩va| 成人av动漫在线| 亚洲一区二区三区视频在线播放 | 一本到高清视频免费精品| 亚洲国产成人91porn| 日韩一区二区三区电影在线观看 | 日韩在线一区二区| 日韩欧美国产一区二区在线播放 | 极品销魂美女一区二区三区| 国产亚洲1区2区3区| 色婷婷综合在线| 日韩高清不卡一区| 国产网站一区二区| 欧美在线一区二区|