mouse_event (long dwFlags,long dx,long dy,long cButtons,long dwExtraInfo)
long dwFlags :
MOUSEEVENTF_ABSOLUTE:表明参数dX,dy含有规范化的绝对坐标。
MOUSEEVENTF_MOVE:表明发生移动。
MOUSEEVENTF_LEFTDOWN:表明接按下鼠标左键。
MOUSEEVENTF_LEFTUP:表明松开鼠标左键。
MOUSEEVENTF_RIGHTDOWN:表明按下鼠标右键。
MOUSEEVENTF_RIGHTUP:表明松开鼠标右键。
MOUSEEVENTF_MIDDLEDOWN:表明按下鼠标中键。
MOUSEEVENTF_MIDDLEUP:表明松开鼠标中键。
MOUSEEVENTF_WHEEL:在Windows NT中如果鼠标有一个轮,表明鼠标轮被移动。移动的数量由dwData给出。
long dx,long dy :指定鼠标沿x轴的绝对位置或者从上次鼠标事件产生以来移动的数量,依赖于MOUSEEVENTF_ABSOLUTE的设置
long cButtons : dwFlags为MOUSEEVENTF_WHEEL,则dwData指定鼠标轮移动的数量。如果dwFlagsS不是MOUSEEVENTF_WHEEL,则dWData应为零。
long dwExtraInfo :指定与鼠标事件相关的附加32位值。应用程序调用函数GetMessageExtraInfo来获得此附加信息。
PB例子:
功能:点击按钮2 模拟鼠标移动点击功能 移动到按钮1并实现按钮1功能
//1.声明API函数
Subroutine mouse_event (long dwFlags,long dx,long dy,long cButtons,long dwExtraInfo) Library "user32.dll"
//2.在脚本里调用
long MOUSEEVENTF_LEFTDOWN = 2 //模拟鼠标左键按下
long MOUSEEVENTF_LEFTUP = 4 //模拟鼠标左键抬起
long MOUSEEVENTF_MOVE = 1 //模拟鼠标移动
long MOWSEEVENTF_ABSOLOTE = 32768 //模拟参数dX,dy含有规范化的绝对坐标。
long MOUSEEVENTF_RIGHTDOWN = 8 //模拟鼠标右键按下
long MOUSEEVENTF_RIGHTUP = 16 //模拟鼠标右键抬起
long MOUSEEVENTF_MIDDLEDOWN = 32 //模拟鼠标中键按下
long MOUSEEVENTF_MIDDLEUP = 64 //模拟鼠标中键抬起
long MOUSEEVENTF_WHEEL = 2048 //模拟鼠标滚轮移动数量
mouse_event( MOUSEEVENTF_MOVE+MOWSEEVENTF_ABSOLOTE+MOUSEEVENTF_LEFTDOWN,25000,24000,0,0)
cb_1.triggerevent(clicked!)
注意点
定义dwFlags里的参数赋值很重要 不能改变 调用方法提取的是你赋值的数字
也可以不定义直接调用方法 例如:移动鼠标
mouse_event( 1+32768,25000,24000,0,0)
使用绝对定位x.y值范围 0到65535
问题
调用方法使用非定义参数的 1 2 4 8 ......之类的 它是执行什么 如何判断
例如
mouse_event( 3,50,40,0,0) 是相对定位 移动50 40
mouse_event(18,50,50,0,0) 是按下鼠标左键功能
使用非定义参数 它是执行什么 如何判断