MFC-mouse_event鼠标事件
HWND hDlgWnd = ::FindWindow(_T("#32770"), _T("测试窗口")); if (hDlgWnd) { ::ShowWindow(hDlgWnd, SW_NORMAL); ::SetForegroundWindow(hDlgWnd); HWND hBtn = ::GetDlgItem(hDlgWnd, 0x3E8); //0x3E8 获取方法看:https://www.cnblogs.com/liming19680104/p/17198189.html CRect mRect; ::GetWindowRect(hBtn, &mRect); SetCursorPos(mRect.left + 3, mRect.top + 3); mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);//模拟鼠标动作 /* 参数1:DWORD dwFlags 鼠标动作标志。此参数可以是下列值的某种组合: MOUSEEVENTF_ABSOLUTE== 0x8000 dX和dY参数是绝对坐标。如果不设置,用相对数据:相对于上次位置的改动位置 MOUSEEVENTF_MOVE= 0x0001 鼠标移动 MOUSEEVENTF_LEFTDOWN = 0x0002; 模拟鼠标左键按下 MOUSEEVENTF_LEFTUP = 0x0004; 模拟鼠标左键抬起 MOUSEEVENTF_RIGHTDOWN = 0x0008; 模拟鼠标右键按下 MOUSEEVENTF_RIGHTUP = 0x0010; 模拟鼠标右键抬起 MOUSEEVENTF_MIDDLEDOWN = 0x0020; 模拟鼠标中键按下 MOUSEEVENTF_MIDDLEUP = 0x0040; 模拟鼠标中键抬起 MOUSEEVENTF_WHEEL 滚动鼠标轮,如果鼠标有一个滚轮。滚动的数量由dwData给出 参数2:DWORD dx 指定鼠标沿x轴的绝对位置或者从上次鼠标事件产生以来移动的数量,依赖于MOUSEEVENTF_ABSOLUTE的设置 参数3:DWORD dy 指定鼠标沿y轴的绝对位置或者从上次鼠标事件产生以来移动的数量,依赖于MOUSEEVENTF_ABSOLUTE的设置 参数4:DWORD dwData 如果dwFlags为MOUSEEVENTF_WHEEL,则dwData指定鼠标轮移动的数量。 正值表明鼠标轮向前转动,即远离用户的方向;负值表明鼠标轮向后转动,即朝向用户。 一个轮击定义为WHEEL_DELTA,即120。如果dwFlagsS不是MOUSEEVENTF_WHEEL,则dWData应为零 参数5:ULONG_PTR dwExtraInfo 指定与鼠标事件相关的附加32位值。应用程序调用函数GetMessageExtraInfo来获得此附加信息 返回值:此函数无返回值 */ Sleep(100); mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); }
测试窗口下载:
链接:https://pan.baidu.com/s/1s_5xvRpTUZtQDKPZ_INSmQ
提取码:6666
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
2022-04-14 今日头条用电脑开直播
2022-04-14 浩辰CAD-圆弧
2019-04-14 python-文件读写操作
2019-04-14 pyqt5-控件的显示与隐藏
2019-04-14 pyqt5-控件是否可用