title: MFC-mouse_event鼠标事件
author: Love02xp
date: 2020-08-09 13:04:17
category: [编程代码]
tags: [VC6,代码,学习]
MFC-mouse_event鼠标事件
@TOC
_
正文
复制代码
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);
}
_
- 原文链接
- 注:知识搬运,供学习交流使用,侵联删!
_