全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 3001|回复: 3
打印 上一主题 下一主题

幽香2显IP源码,有人能弄出支持QQ2012的吗?

[复制链接]
跳转到指定楼层
1#
发表于 2012-7-11 14:00:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
节选部分代码:
  1. //这个还是在看雪上面看见的
  2. typedef struct CTXBSTR
  3. {
  4.   int zero;//貌似要一直是0
  5.   int count;//引用计数
  6.   int len1;
  7.   int len2;
  8.   wchar_t str[4100];
  9. } TXStr, * pTXStr;
  10. void QQMsgInFrame(unsigned long QQUIN,LPCTSTR lpText,int save)
  11. {
  12.   HWND hWnd = Util::ChatSession::GetContactChatSessionMainHWnd(QQUIN);
  13.   if(!IsWindow(hWnd) || !g_hwnd_inner) return;    //避免无效窗口

  14.   TXStr MyMsg;
  15.   MyMsg.zero = 0;
  16.   MyMsg.count = 3;
  17.   wcsncpy(MyMsg.str, lpText,4096);
  18.   MyMsg.str[4096]=0;
  19.   MyMsg.len1 = MyMsg.len2 = wcslen(MyMsg.str) * sizeof(wchar_t);

  20.   if(MyMsg.len1<=0) return;//不显示空文本

  21.   if(WriteMsgTip&&CreateChatFrame)
  22.   {
  23.     DWORD pointer = 0;//0x11111111;
  24.     CreateChatFrame(QQUIN, 0, &pointer, 0);
  25.     WriteMsgTip(pointer, 0, MyMsg.str, 0);
  26.   }
  27.   else
  28.   {
  29.     if(WriteMsgTip2)
  30.     {
  31.       WriteMsgTip2(QQUIN, 0, 0, MyMsg.str,0);
  32.     }
  33.   }
  34. }
复制代码
去掉所有右下角弹窗
代码:
  1. long __cdecl MyRawCreateGFElementByXtml(wchar_t  *p1,DWORD p2,DWORD p3,DWORD p4)
  2. {
  3.   if(wndf && oneminits && wcsstr(p1,L"PopupTip.xml")!=0) return 0;

  4.   if(RawCreateGFElementByXtml) return RawCreateGFElementByXtml(p1,p2,p3,p4);
  5.   return 0;
  6. }
复制代码
一些用到的函数原型
代码:
  1. #ifndef __QQDEF_H__
  2. #define __QQDEF_H__


  3. class CTXStringW;
  4. struct ITXMsgPack;

  5. #pragma comment(lib, "lib\\KernelUtil.lib")
  6. #pragma comment(lib, "lib\\AppUtil.lib")
  7. #pragma comment(lib, "lib\\Common.lib")

  8. #define DLLIMPORT __declspec (dllimport)

  9. namespace Registry
  10. {
  11.     namespace API
  12.     {
  13.         DLLIMPORT int __cdecl GetRegSubKeyBoolField(wchar_t *,wchar_t *,wchar_t *,int *,enum __MIDL___MIDL_itf_IRegistry_0000_0003,enum __MIDL___MIDL_itf_IRegistry_0000_0004);
  14.     }
  15. }
  16. namespace Util
  17. {
  18.     namespace ChatSession
  19.     {
  20.         //DLLIMPORT int __cdecl CreateChatFrameType(unsigned long,int,struct IAFChatFrameType * *,struct ITXData *);
  21.         //DLLIMPORT void __cdecl WriteMsgTipInChatSession(unsigned long,int,enum IconIndex,class CTXStringW,int);
  22.         DLLIMPORT long __cdecl SendAutoReplyMsgToBuddy(unsigned long);
  23.         DLLIMPORT void __cdecl OpenContactChatSession(unsigned long,struct ITXData *);
  24.         DLLIMPORT int __cdecl IsChatSessionOpen(unsigned long,int);
  25.     }
  26.     namespace Misc
  27.     {
  28.         DLLIMPORT void __cdecl SwitchUser(void);
  29.         DLLIMPORT int __cdecl IsServerControlBitOn(unsigned long);
  30.         DLLIMPORT int __cdecl IsTencentTrusted(wchar_t const *);
  31.         //DLLIMPORT int __cdecl MessageBoxExByHwnd(struct HWND__ *,wchar_t *,wchar_t *,unsigned int,struct ITXData *,struct ITXData * *);
  32.         //DLLIMPORT int __cdecl MessageBoxExByHwnd(struct HWND__ *,wchar_t *,wchar_t *,unsigned int,struct ITXData *,struct ITXData * *);
  33.     }
  34.     namespace AFChatSession
  35.     {
  36.         DLLIMPORT void __cdecl WriteMsgTipInChatSession(struct IAFChatFrameType *,enum IconIndex,class CTXStringW,int);
  37.     }
  38.     namespace Contact
  39.     {
  40.         DLLIMPORT int __cdecl IsFlagValid(unsigned long,unsigned long);
  41.         DLLIMPORT unsigned long __cdecl GetSelfUin(void);
  42.         DLLIMPORT unsigned short __cdecl GetIMVersion(unsigned long);
  43.         DLLIMPORT unsigned short __cdecl GetStatus(unsigned long);
  44.         DLLIMPORT class CTXStringW __cdecl GetNickname(unsigned long);
  45.         DLLIMPORT class CTXStringW __cdecl GetPublicName(unsigned long);
  46.         
  47.         namespace Self
  48.         {
  49.             DLLIMPORT int __cdecl GetAutoRelyContent(class CTXStringW &);
  50.         }
  51.     }
  52.     namespace ChatSession
  53.     {
  54.         DLLIMPORT struct HWND__ * __cdecl GetContactChatSessionMainHWnd(unsigned long);
  55.     }
  56.     namespace Group
  57.     {
  58.         DLLIMPORT int __cdecl CheckMsgImage(struct ITXMsgPack *,class CTXStringW &);
  59.     }
  60.     namespace Msg
  61.     {
  62.         DLLIMPORT class CTXStringW __cdecl GetMsgAbstract(struct ITXMsgPack *);
  63.     }
  64.     namespace Convert
  65.     {
  66.         DLLIMPORT int __cdecl ConvertXMLStrToTXData(wchar_t *,wchar_t * *,struct ITXData *,wchar_t *);
  67.     }
  68.     namespace Boot
  69.     {
  70.         DLLIMPORT int __cdecl InitPluginCoreConfig(wchar_t *);
  71.     }
  72.     namespace Com
  73.     {
  74.         DLLIMPORT long __stdcall CreateObjectFromDllFile(wchar_t const *,struct _GUID const &,struct _GUID const &,void * *,struct IUnknown *);
  75.     }
  76.     namespace CoreCenter
  77.     {
  78.         DLLIMPORT int __cdecl EnablePlugin(wchar_t *);
  79.         DLLIMPORT int __cdecl DisablePlugin(wchar_t *);
  80.     }
  81. }

  82. namespace Version
  83. {
  84.     DLLIMPORT unsigned long __cdecl GetBuildVer(void);
  85.     DLLIMPORT int __cdecl Init(void);
  86. }

  87. namespace FS
  88. {
  89.     DLLIMPORT int __cdecl IsFileExist(wchar_t const *);
  90. }

  91. //DLLIMPORT void __cdecl TXLog_DoTXLogVW(struct tagLogObj *,wchar_t const *,wchar_t const *,char *);

  92. //typedef unsigned long (WINAPI *GetAccountName)(struct ITXMsgPack *,unsigned long);
  93. //GetAccountName GetNickname = NULL;
  94. //GetAccountName GetPublicName = NULL;

  95. //typedef unsigned long (WINAPI *MsgAbstract)(struct ITXMsgPack *,struct ITXMsgPack *);
  96. //MsgAbstract GetMsgAbstract = NULL;


  97. typedef void (WINAPI *MyGetAccountName)(const wchar_t **,unsigned long);
  98. #define GetNickname ((MyGetAccountName)Util::Contact::GetNickname)
  99. #define GetPublicName ((MyGetAccountName)Util::Contact::GetPublicName)
  100. #define GetMsgAbstract ((MyGetAccountName)Util::Msg::GetMsgAbstract)

  101. #endif // __QQDEF_H__
复制代码
2#
发表于 2012-7-11 14:04:20 | 只看该作者
不懂C,不懂cplusplus,不懂代码
3#
发表于 2012-7-11 14:04:40 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
4#
发表于 2012-7-11 16:21:46 | 只看该作者
发现了一只落单的楼主
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-4-13 21:00 , Processed in 0.193574 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表