亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
日韩在线卡一卡二| 欧美国产乱子伦| 亚洲va国产va欧美va观看| 色先锋aa成人| 亚洲成a人v欧美综合天堂| 91精品国产aⅴ一区二区| 麻豆精品蜜桃视频网站| 精品噜噜噜噜久久久久久久久试看 | 欧美日本一区二区三区四区| 亚洲午夜成aⅴ人片| 日韩欧美国产综合| 国产精品香蕉一区二区三区| 国产喷白浆一区二区三区| 97精品视频在线观看自产线路二| 一区二区三区四区视频精品免费| 欧美日韩一级片在线观看| 狠狠色综合播放一区二区| 国产精品视频麻豆| 欧美日韩国产高清一区二区三区| 久久综合综合久久综合| 国产精品无人区| 欧美精品三级日韩久久| 国产福利一区二区三区视频| 一区二区三区在线免费视频| 欧美电影免费观看高清完整版在线 | 久久不见久久见免费视频1| 亚洲国产精品精华液ab| 欧美亚一区二区| 国产乱人伦精品一区二区在线观看| 亚洲欧洲99久久| 欧美一卡二卡三卡| 91农村精品一区二区在线| 蜜桃av一区二区三区| 中文字幕一区二区三区在线播放| 欧美日韩国产首页| 成人性生交大片免费看在线播放| 亚洲一区免费观看| 国产日韩综合av| 在线播放91灌醉迷j高跟美女 | 日韩欧美国产1| 91丨porny丨在线| 极品美女销魂一区二区三区免费| 一区二区三区日韩欧美| 久久久99精品免费观看不卡| 3d成人h动漫网站入口| 99精品在线免费| 国产一区二区在线视频| 亚洲3atv精品一区二区三区| 国产精品国模大尺度视频| 欧美tickling网站挠脚心| 欧美在线你懂的| av午夜精品一区二区三区| 国产美女视频一区| 日本色综合中文字幕| 一区二区三区四区中文字幕| 国产日韩亚洲欧美综合| 26uuu精品一区二区三区四区在线| 欧美日韩日本视频| 欧美性大战xxxxx久久久| 菠萝蜜视频在线观看一区| 黑人精品欧美一区二区蜜桃| 日韩经典一区二区| 亚洲福中文字幕伊人影院| 一区二区在线观看视频| 中文字幕日韩一区| 国产精品色婷婷| 久久精品夜夜夜夜久久| 久久久精品蜜桃| 精品福利二区三区| 精品久久久久一区| 日韩美女一区二区三区四区| 欧美一三区三区四区免费在线看 | 成人成人成人在线视频| 国产成人精品免费| 国产精品资源站在线| 精品一区二区三区免费观看| 麻豆成人久久精品二区三区红| 天堂在线一区二区| 婷婷国产在线综合| 日韩专区一卡二卡| 日韩不卡一区二区三区| 秋霞电影一区二区| 免费久久99精品国产| 蜜桃久久久久久久| 国产在线视视频有精品| 国产一区二区成人久久免费影院| 国产麻豆视频精品| 成人深夜视频在线观看| 97se亚洲国产综合自在线| youjizz国产精品| 在线这里只有精品| 欧美美女bb生活片| 日韩精品一区二区三区视频播放| 欧美成人伊人久久综合网| 国产日韩亚洲欧美综合| 亚洲日本va午夜在线影院| 亚洲国产三级在线| 捆绑变态av一区二区三区| 国产精品77777竹菊影视小说| 99久久精品一区二区| 欧美色网一区二区| 精品久久国产97色综合| 中文字幕国产一区二区| 一区二区三区欧美日| 日本亚洲三级在线| 国产不卡一区视频| 色一情一乱一乱一91av| 日韩一级黄色片| 国产精品麻豆视频| 五月天婷婷综合| 精品综合久久久久久8888| 成人黄色国产精品网站大全在线免费观看 | 欧美电影免费观看高清完整版在 | 国内成+人亚洲+欧美+综合在线 | 国产一区二区影院| 91蜜桃免费观看视频| 日韩西西人体444www| 国产精品网站一区| 日本美女一区二区| 99在线精品免费| 日韩视频永久免费| 亚洲欧美激情在线| 久久精品噜噜噜成人av农村| 91亚洲资源网| 日韩欧美电影一区| 亚洲一区二区三区激情| 国产成人av在线影院| 欧美人与禽zozo性伦| 欧美国产综合一区二区| 青青草国产成人av片免费| 9i看片成人免费高清| 日韩精品一区二区三区四区| 亚洲一区二区在线视频| 国产99一区视频免费| 日韩欧美国产午夜精品| 亚洲国产aⅴ成人精品无吗| 成人av免费在线观看| 日韩亚洲欧美综合| 一区二区三区精密机械公司| 国产精品亚洲第一区在线暖暖韩国 | 日韩欧美一区在线| 悠悠色在线精品| 成人黄色av网站在线| 久久伊人蜜桃av一区二区| 亚洲成人综合网站| 91在线视频网址| 国产午夜精品福利| 精品午夜一区二区三区在线观看| 欧美日韩视频在线第一区| 中文字幕一区二区三中文字幕| 国内精品不卡在线| 欧美v国产在线一区二区三区| 亚洲123区在线观看| 在线视频综合导航| 亚洲私人影院在线观看| www.亚洲色图.com| 欧美韩国日本一区| 成人午夜大片免费观看| 久久婷婷一区二区三区| 久久国产精品色| 精品久久人人做人人爰| 另类专区欧美蜜桃臀第一页| 日韩一区二区三区av| 久久国产人妖系列| 精品久久久久久综合日本欧美| 免费精品99久久国产综合精品| 欧美一区二区在线看| 天天做天天摸天天爽国产一区| 欧美手机在线视频| 午夜欧美在线一二页| 欧美精三区欧美精三区| 视频一区二区三区中文字幕| 欧美高清精品3d| 蜜臀va亚洲va欧美va天堂| 日韩欧美一区二区久久婷婷| 老司机午夜精品99久久| 久久亚洲精华国产精华液 | 日韩激情av在线| 日韩一区二区三区在线视频| 激情亚洲综合在线| 亚洲国产精华液网站w| 波多野结衣视频一区| 亚洲啪啪综合av一区二区三区| 91麻豆国产精品久久| 亚洲成人激情社区| 日韩一区二区电影在线| 国产酒店精品激情| 亚洲欧洲日韩在线| 欧洲激情一区二区| 蜜桃视频免费观看一区| 国产精品欧美精品| 欧美在线色视频| 蜜臀av性久久久久av蜜臀妖精| 久久久久国产成人精品亚洲午夜| 成人美女视频在线观看18| 亚洲欧美日韩中文字幕一区二区三区 | 日本亚洲电影天堂| 日本一区二区三区四区在线视频 | 久久精品国产99国产| 亚洲国产精品av|