mouse_event?VB mouse_event 模拟鼠标移动问题 帮忙找错!
各位老铁们好,相信很多人对mouse_event都不是特别的了解,因此呢,今天就来为大家分享下关于mouse_event以及VB mouse_event 模拟鼠标移动问题 帮忙找错!的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
VB mouse_event 模拟鼠标移动问题 帮忙找错!
mouse_event MOUSEEVENTF_MOVE+ MOUSEEVENTF_ABSOLUTE, Me.ScaleX(100, 3, 1)* 65535/ Screen.Width, 0, 0, 0
解释:
MOUSEEVENTF_ABSOLUTE是让鼠标指针按绝对位置移动。如果是相对移动,则实际的移动位置要受控制面板中对鼠标指针移动速度及移动精度的影响,也就是说,在不同的电脑上,鼠标指针相对移动后的位置很可能会出现截然不同的情况,所以最好不要用相对移动,改用绝对移动。
Me.ScaleX(100, 3, 1)是把100像素转为缇(Twip)
Screen.Width是屏幕的横向分辨率(单位是缇),这样就使程序适应所有显示器
mouse_event 易语言 相对移动的问题
示例:
.版本2
.DLL命令模拟鼠标_,,"user32.dll","mouse_event",, mouse_event,模拟一次鼠标事件
.参数标志组合,整数型,, dwFlags,一系列标志的组合
.参数水平方向,整数型,, dx,参见相关帮助
.参数垂直方向,整数型,, dy,参见相关帮助
.参数数据信息,整数型,, cButtons,未使用
.参数扩展数据信息,整数型,, dwExtraInfo,通常未用的一个值
.版本 2
.子程序鼠标移动,,,模拟鼠标移动
.参数水平坐标,整数型,,水平坐标
.参数垂直坐标,整数型,,垂直坐标
_移动鼠标(水平坐标,垂直坐标)
这样。
如果想移动的话可以这样:
.版本 2
.子程序鼠标移动,,,模拟鼠标移动,单位像素点
.参数右移像素,整数型,,
.参数下移像素,整数型,,
_移动鼠标(取鼠标水平位置()+右移像素,取鼠标垂直位置()+下移像素)
mouse_event的参数
dwFlags:标志位集,指定点击按钮和鼠标动作的多种情况。此参数里的各位可以是下列值的任何合理组合:
MOUSEEVENTF_ABSOLUTE:表明参数dX,dy含有规范化的绝对坐标。如果不设置此位,参数含有相对数据:相对于上次位置的改动位置。此标志可被设置,也可不设置,不管鼠标的类型或与系统相连的类似于鼠标的设备的类型如何。要得到关于相对鼠标动作的信息,参见下面备注部分:
MOUSEEVENTF_MOVE:表明发生移动。
MOUSEEVENTF_LEFTDOWN:表明接按下鼠标左键。
MOUSEEVENTF_LEFTUP:表明松开鼠标左键。
MOUSEEVENTF_RIGHTDOWN:表明按下鼠标右键。
MOUSEEVENTF_RIGHTUP:表明松开鼠标右键。
MOUSEEVENTF_MIDDLEDOWN:表明按下鼠标中键。
MOUSEEVENTF_MIDDLEUP:表明松开鼠标中键。
MOUSEEVENTF_WHEEL:在Windows NT中如果鼠标有一个轮,表明鼠标轮被移动。移动的数量由dwData给出。
dx:指定鼠标沿x轴的绝对位置或者从上次鼠标事件产生以来移动的数量,依赖于MOUSEEVENTF_ABSOLUTE的设置。给出的绝对数据作为鼠标的实际X坐标;给出的相对数据作为移动的mickeys数。一个mickey表示鼠标移动的数量,表明鼠标已经移动。
dy:指定鼠标沿y轴的绝对位置或者从上次鼠标事件产生以来移动的数量,依赖于MOUSEEVENTF_ABSOLUTE的设置。给出的绝对数据作为鼠标的实际y坐标,给出的相对数据作为移动的mickeys数。
dwData:如果dwFlags为MOUSEEVENTF_WHEEL,则dwData指定鼠标轮移动的数量。正值表明鼠标轮向前转动,即远离用户的方向;负值表明鼠标轮向后转动,即朝向用户。一个轮击定义为WHEEL_DELTA,即120。如果dwFlagsS不是MOUSEEVENTF_WHEEL,则dWData应为零。
dwExtralnfo:指定与鼠标事件相关的附加32位值。应用程序调用函数GetMessageExtraInfo来获得此附加信息。
返回值:无。
C#用mouse_event模拟鼠标点击的问题
1、首先添加using System.Runtime.InteropServices;
2、为鼠标添加模拟点击的各种参数
//鼠标事件因为我用的不多,所以其他参数没有写
privatereadonlyintMOUSEEVENTF_LEFTDOWN=0x0002;//模拟鼠标移动
privatereadonlyintMOUSEEVENTF_MOVE=0x0001;//模拟鼠标左键按下
privatereadonlyintMOUSEEVENTF_LEFTUP=0x0004;//模拟鼠标左键抬起
privatereadonlyintMOUSEEVENTF_ABSOLUTE=0x8000;//鼠标绝对位置
privatereadonlyintMOUSEEVENTF_RIGHTDOWN=0x0008;//模拟鼠标右键按下
privatereadonlyintMOUSEEVENTF_RIGHTUP=0x0010;//模拟鼠标右键抬起
privatereadonlyintMOUSEEVENTF_MIDDLEDOWN=0x0020;//模拟鼠标中键按下
privatereadonlyintMOUSEEVENTF_MIDDLEUP=0x0040;//模拟鼠标中键抬起
3、为鼠标点击添加点击函数
publicstaticexternvoidmouse_event(intdwFlags,intdx,intdy,intdwData,intdwExtraInfo);
privatevoidbutton2_Click(objectsender,EventArgse){intx=int.Parse(textBox1.Text);inty=int.Parse(textBox2.Text);
//绝对位置mouse_event(MOUSEEVENTF_MOVE|MOUSEEVENTF_ABSOLUTE,x*65535/1600,y*65535/900,0,0);//移动到需要点击的位置mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_ABSOLUTE,x*65535/1600,y*65535/900,0,0);//点击mouse_event(MOUSEEVENTF_LEFTUP|MOUSEEVENTF_ABSOLUTE,x*65535/1600,y*65535/900,0,0);//抬起
//相对位置指的是相对于当前鼠标的相对位置
mouse_event(MOUSEEVENTF_MOVE,x,y,0,0);//移动mouse_event(MOUSEEVENTF_LEFTDOWN,x,y,0,0);//点击mouse_event(MOUSEEVENTF_LEFTUP,x,y,0,0);//抬起
}
感谢您花时间阅读本文!我们希望通过对mouse_event和VB mouse_event 模拟鼠标移动问题 帮忙找错!的问题进行探讨,为您提供了一些有用的见解和解决方案。如果您需要更多帮助或者有其他疑问,请不要犹豫与我们联系。