0x001 易语言模拟了一个登录框
展示:
0x002 使用win32 模拟登录测试
全部代码:
// 20180117_01.cpp : Defines the entry point for the application.
//WTWindow
#include "stdafx.h"
#include <windows.h>
BOOL isStart=FALSE;
//登录
void QQLogin()
{
TCHAR szTitle[MAX_PATH]={0};
HWND hwnd = FindWindow("WTWindow","QQ2018");
if(hwnd)
{
//找到编辑框_用户名78
HWND hEditUser = GetDlgItem(hwnd,0x78);
SendMessage(hEditUser,WM_SETTEXT,0,(LPARAM)"111111");
//找到编辑框_密码8C
HWND hEditPass = GetDlgItem(hwnd,0x8C);
SendMessage(hEditPass,WM_SETTEXT,0,(LPARAM)"111111");
//点击登录96
HWND hButtonLogin=GetDlgItem(hwnd,0x96);
Sleep(3000);
SendMessage(hButtonLogin,WM_LBUTTONDOWN,0,0);
SendMessage(hButtonLogin,WM_LBUTTONUP,0,0);
}else{
MessageBox(0,"没有找到QQ","失败",MB_OK);
}
return ;
}
//最前列
void SetQQFirst()
{
TCHAR szTitle[MAX_PATH]={0};
HWND hwnd = FindWindow("WTWindow","QQ2018");
if(hwnd!=NULL)
{
typedef void (WINAPI* PSWITCHTOTHISWINDOW)(HWND,BOOL);
PSWITCHTOTHISWINDOW SwitchToThisWindow;
HMODULE hUser32 = LoadLibrary("user32.dll");
SwitchToThisWindow = (PSWITCHTOTHISWINDOW)GetProcAddress(hUser32,"SwitchToThisWindow");
//切换窗口
SwitchToThisWindow(hwnd,TRUE);
Sleep(1000);
//SendMessage(hwnd,WM_CLOSE,0,0);
}else
{
MessageBox(NULL,TEXT("窗口没有找到"),TEXT("[ERROR]"),MB_OK);
}
}
//QQ是否打开
BOOL CALLBACK EnumWindowsProc(
HWND hwnd, // handle to parent window
LPARAM lParam // application-defined value
)
{
TCHAR szTitle[MAX_PATH]={0};
GetWindowText(hwnd,szTitle,MAX_PATH);
//MessageBox(NULL,szTitle,"[窗口]",MB_OK);
if(strcmp(szTitle,"QQ2018")==0)
{
//MessageBox(0,"360软件打开了","【检测】",MB_OK);
isStart = TRUE;
return FALSE;
}
return TRUE;
}
//"用户名 采集 V1.0"
void isQQStart()
{
EnumWindows(EnumWindowsProc,NULL);
}
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
//创建进程
STARTUPINFO si={0};
si.cb = sizeof(STARTUPINFO);
PROCESS_INFORMATION pi;
TCHAR szBuffer[]=TEXT("c://QQ.exe");
CreateProcess(szBuffer,
NULL,
NULL,
NULL,
FALSE,
CREATE_NEW_CONSOLE,
NULL,
NULL,
&si,
&pi);
//检测进程是否存在
Sleep(2000);
isQQStart();
Sleep(3000);
if(isStart)
{
//最前列
SetQQFirst();
//登录
QQLogin();
}else{
MessageBox(0,"没有打开QQ进程","[错误信息]",0);
}
return 0;
}
0x003 总结
开始使用了:
mouse_event
keybd_event
出错的概率很高,
建议使用:
SendMessage并且, 脚本记住一定要控制时间, 如果你不给时间间隔, 很容易出错[教训!!!]

0则评论给“简单登录脚本测试”