c++实现xx游戏大厅连连看自动开局
要实现自动开局,我们第一步需要找到开局按钮的xy坐标值,然后调用windows的鼠标点击按钮实现即可。下面我们来具体操作一下。
第一步使用SPY++获取游戏窗口标题.
第二步拦截窗口的单击消息,在spy++查找窗口下选择消息。然后在只选则如下两个消息控件
点击开始按钮如下如图,根据图我们可以知道开始按钮的x=661,y=568
双击第一行,查看函数的参数。根据lParam(16进制)的值。其实238的十进制就是568,295的十进制就是661,lParam高八位存的是y的值,低八位存的是x的值
有了以上的值,我们就可以编写我们的代码,实现自动开据功能了,主要代码如下:
//取窗口句柄
gameh=::FindWindow(NULL,L"xx - 连连看角色版");
//读出游戏窗口信息
::GetWindowRect(gameh,&r1);
//保存当前鼠标位置
GetCursorPos(&p);
//设置鼠标指针位置 取开局所在坐标:x=661;y=568
SetCursorPos(661+r1.left,568+r1.top);
//模拟鼠标的单击
//鼠标按下
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
//鼠标抬起
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
//还原鼠标位置
SetCursorPos(p.x,p.y);