[外挂6]在指定位置下棋 SendMessage函数
a、鼠标软件模拟,函数SendMessage
b、分析窗口内棋子相对坐标X,Y
c、软件模拟点击棋盘坐标x,y处的棋子
::SendMessage(hwnd,WM_LBUTTOMDOWN,0,YX);//hwnd=FindWindow(NULL,游戏标题);
::SendMessage(hwnd,WM_LBUTTOMUP,0,YX); //PostMessage/mouse_event
>_< : 前面都是直接移动了鼠标,这次要改发送鼠标消息了,这样鼠标不移动也会点击游戏的开始按钮.SendMessage的参数是相对坐标, mouse_event的参数是绝对坐标
>_< : 新加入一个int 类m_pos变量
1 void CFewDlg::OnButton4() //外挂程序 2 { 3 CString POS;// 4 GetDlgItemText(IDC_EDIT5,POS);//从编辑框读取数据到POS 5 m_pos=atoi(POS);//将POS转换成int类 6 UpdateData(false); //更新数据 7 8 int x=50+m_pos%3*100,y=50+m_pos/3*100; //定义座标点 9 HWND hwnd=::FindWindow(NULL,"井字棋"); //查找窗口 10 int lparam; //定义座标点变量 11 lparam=(y<<16)+x; //表示指定格,Y<<16是左移16位,发消息用的Y座标点 12 ::SendMessage(hwnd,WM_LBUTTONDOWN,0,lparam);//鼠标按下消息 13 ::SendMessage(hwnd,WM_LBUTTONUP,0,lparam); //鼠标抬起消息 14 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?