mouse_event

【勇芳软件工作室】汉化HomePreviousNext

mouse_event功能可以合成鼠标移动和按钮点击。

VOID mouse_event(

DWORD 【dwFlags中】,//指定各种运动/点击变体的标志
DWORD 【dx】,//水平鼠标位置或位置更改
DWORD 【dy】,//垂直鼠标位置或位置更改
DWORD 【dwDatacy】,//车轮运动量
DWORD 【dwExtraInfo】// 32位应用程序定义的信息
); 

参数

【dwFlags中】

一组标志位,指定鼠标运动和按钮点击的各个方面。此参数中的位可以是以下值的任何合理组合:

含义
MOUSEEVENTF_ABSOLUTE指定【dx】【dy】参数包含归一化的绝对坐标。如果未设置,这些参数包含相对数据:自上次报告的位置以来的位置变化。无论什么样的鼠标或类似鼠标的设备连接到系统,都可以设置或不设置该标志。有关相对鼠标移动的更多信息,请参阅以下备注部分。
MOUSEEVENTF_MOVE指定运动发生。
MOUSEEVENTF_LEFTDOWN指定左按钮更改为向下。
MOUSEEVENTF_LEFTUP指定左按钮更改为up。
MOUSEEVENTF_RIGHTDOWN指定右按钮更改为向下。
MOUSEEVENTF_RIGHTUP指定右侧按钮更改为up。
MOUSEEVENTF_MIDDLEDOWN指定中间按钮更改为向下。
MOUSEEVENTF_MIDDLEUP指定中间按钮更改为up。
MOUSEEVENTF_WHEEL仅限Windows NT:指定车轮已被移动,如果鼠标有轮子??。移动量在【dwDatacy】中给出

指定鼠标按钮状态的标志位设置为指示状态的更改,而不是正在进行的条件。例如,如果按住鼠标左键并按住,则在首次按下左按钮时设置MOUSEEVENTF_LEFTDOWN,但不会进行后续运动。同样,只有当按钮首次被释放时,才设置MOUSEEVENTF_LEFTUP。

【dx】

根据MOUSEEVENTF_ABSOLUTE的设置,指定鼠标沿着x轴的绝对位置或自产生最后一个鼠标事件以来的运动量。绝对数据作为鼠标的实际x坐标给出;相对数据作为移动的米奇数量给出。

【dy】

根据MOUSEEVENTF_ABSOLUTE的设置,指定鼠标沿着y轴的绝对位置或自产生最后一个鼠标事件以来的运动量。绝对数据作为鼠标的实际y坐标给出;相对数据作为移动的米奇数量给出。

【dwDatacy】

如果【dwFlags中】为MOUSEEVENTF_WHEEL,则【dwDatacy】指定车轮移动量。正值表示车轮向前旋转,远离用户;负值表示车轮向后旋转,朝向用户。一轮单击定义为WHEEL_DELTA,即120。

如果【dwFlags中】不是MOUSEEVENTF_WHEEL,则【dwDatacy】应为零。

【dwExtraInfo】

指定与鼠标事件相关联的附加32位值。应用程序调用{??989796106}获取此额外信息。

返回值

该函数没有返回值。

备注

如果鼠标移动,由MOUSEEVENTF_MOVE设置,【dx】【dy】保存有关该动作的信息。信息作为绝对或相对整数值给出。

如果指定了MOUSEEVENTF_ABSOLUTE值,则【dx】【dy】包含0和65,535之间的归一化绝对坐标。事件过程将这些坐标映射到显示面上。坐标(0,0)映射到显示面的左上角(65535,65535)映射到右下角。

如果未指定MOUSEEVENTF_ABSOLUTE值,【dx】【dy】指定生成最后一个鼠标事件(最后报告的位置)的相对运动。正值意味着鼠标向右移动(或向下)移动;负值表示鼠标向左(或向上)移动。

相对鼠标运动受鼠标速度和两个鼠标阈值的影响。在Windows NT中,最终用户使用控制面板鼠标选项的鼠标跟踪速度滑块设置这三个值;在Windows 95中,最终用户使用“控制面板”鼠标属性表的“指针速度”滑块设置它们。应用程序使用SystemParametersInfo函数获取并设置这些值。

操作系统对指定的相对鼠标运动应用两个测试。如果沿x或y轴的指定距离大于第一个鼠标阈值,并且鼠标速度不为零,则操作系统将距离加倍。如果沿x或y轴的指定距离大于第二个鼠标阈值,并且鼠标速度等于2,则操作系统将应用第一个阈值测试所产生的距离加倍。因此,操作系统可以将相对指定的鼠标移动沿x或y轴乘以多达四倍。

mouse_event函数用于通过需要这样做的应用程序来合成鼠标事件。它也被需要从鼠标获取更多信息的应用程序用于其位置和按钮状态。例如,如果平板电脑制造商希望将基于笔的信息传递到自己的应用程序,则它可以编写一个动态链接库(DLL),它直接与平板电脑硬件通信,获取额外的信息,并将其保存在队列中。然后,DLL使用标准按钮和x / y位置数据调用mouse_event,以及【dwExtraInfo】参数中的一些指针或排队的额外信息的索引。当应用程序需要额外的信息时,它将使用存储在【dwExtraInfo】中的指针或索引来调用DLL,并且DLL返回额外的信息。

也可以看看

GetMessageExtraInfo, SystemParametersInfo