捐助郴维网
感谢您对郴维网的支持,你的支持将是郴维网持续发展的动力!
二维码
×
当前位置:郴维网 >API档案 > 正文
17 2017.06

mouse_event

点击次数:1531 更新时间:2017-6-17 19:29:15  【打印此页

原文链接 -> 传送门

函数功能:

mouse_event 函数用于合成鼠标动作和鼠标按钮点击。


API 函数原型:

注释:_In_ 说明该参数是输入的。

VOID WINAPI mouse_event(
  _In_ DWORD     dwFlags,
  _In_ DWORD     dx,
  _In_ DWORD     dy,
  _In_ DWORD     dwData,
  _In_ ULONG_PTR dwExtraInfo
);


参数解析:
 

参数

含义

dwFlags

1. 控制鼠标移动和按钮点击的各个方面。该参数可以是下列值的特定组合:

含义

MOUSEEVENTF_ABSOLUTE
(0x8000)

表明参数 dx,dy 含有规范化的绝对坐标。如果不设置此位,这些参数则含有相对数据:相对于上次位置的改动位置。此标志可被设置,也可不设置,不管鼠标的类型或与系统相连的类似于鼠标的设备的类型如何。要得到关于相对鼠标动作的跟多信息,参见下面备注部分

MOUSEEVENTF_LEFTDOWN
(0x0002)

左键被按下

MOUSEEVENTF_LEFTUP
(0x0004)

左键被松开

MOUSEEVENTF_MIDDLEDOWN
(0x0020)

中键被按下

MOUSEEVENTF_MIDDLEUP
(0x0040)

中键被松开

MOUSEEVENTF_MOVE
(0x0001)

发生移动

MOUSEEVENTF_RIGHTDOWN
(0x0008)

右键被按下

MOUSEEVENTF_RIGHTUP
(0x0010)

右键被松开

MOUSEEVENTF_WHEEL
(0x0800)

如果鼠标有滚轮,表示滚轮被滚动。滚动的数量 dwData 指定

MOUSEEVENTF_XDOWN
(0x0080)

X 按钮被按下

MOUSEEVENTF_XUP
(0x0100)

X 按钮被释放

MOUSEEVENTF_WHEEL
(0x0800)

滚轮被转动

MOUSEEVENTF_HWHEEL
(0x01000)

滚轮被倾斜


2. 指定鼠标按钮状态的值将被设置用来指示状态的更改,而不是正在进行的条件。例如,如果鼠标左键被按下并且被按住,在左键第一次被按下时,MOUSEEVENTF_LEFTDOWN 被设置,但后续的动作不会设置。同样,MOUSEEVENTF_LEFTUP 只有当按钮被首次释放时才会被设置

3. 你不能同时在 dwFlags 参数中指定 MOUSEEVENTF_WHEEL 和 MOUSEEVENTF_XDOWN 或 MOUSEEVENTF_XUP,因为他们都需要使用 dwData 域

dx

鼠标沿 x 轴的绝对位置或者从上次鼠标事件产生以来移动的数量,依赖于 MOUSEEVENTF_ABSOLUTE 的设置。绝对数据作为鼠标的实际 x 坐标;相对数据作为移动的 mickeys 数。一个 mickey 表示鼠标移动的数量,表明鼠标已经移动

dy

鼠标沿 y 轴的绝对位置或者从上次鼠标事件产生以来移动的数量,依赖于 MOUSEEVENTF_ABSOLUTE 的设置。绝对数据作为鼠标的实际 y 坐标;相对数据作为移动的 mickeys 数

dwData

1. 如果 dwFlags 包含 MOUSEEVENTF_WHEEL,则 dwData 指示滚轮滚动的数量。正值表示滚轮向前滚动,即远离用户的方向;负值表示滚轮向回滚动,即朝向用户的方向。滚轮点击被定义为 WHEEL_DELTA,即 120

2. 如果 dwFlags 包含 MOUSEEVENTF_HWHEEL,则 dwData 指示滚轮滚动的数量。正值表示滚轮向右倾斜;负值表示滚轮向左倾斜

3. 如果 dwFlags 包含 MOUSEEVENTF_XDOWN 或 MOUSEEVENTF_XUP,则 dwFlags 指示哪个 X 按钮被按下或者释放。该值可以是下列标志的任何组合

4. 如果 dwFlags 不是 MOUSEEVENTF_WHEEL、MOUSEEVENTF_XDOWN 或 MOUSEEVENTF_XUP,那么 dwFlags 应该是 0
 

含义

XBUTTON1
(0x0001)

如果第一个 X 按钮被按下或者释放,该值会被设置

XBUTTON2
(0x0002)

如果第二个 X 按钮被按下或者释放,该值会被设置

dwExtraInfo

与鼠标事件相关的附加值。应用程序可以调用 GetMessageExtraInfo 函数来获取这些附加信息



返回值:

该函数没有返回值。


备注:

1. 如果鼠标被移动,用设置 MOUSEEVENTF_MOVE 来表明,dx 和 dy 保留移动的信息。给出的信息是绝对或相对整数值。

2. 如果指定了 MOUSEEVENTF_ABSOLUTE 值,则 dx 和 dy 含有标准化的绝对坐标,其值在 0 到 65535 之间。事件程序将此坐标映射到显示面。坐标 (0, 0) 映射到显示面的左上角,(65535, 65535) 映射到右下角。

3. 如果没指定 MOUSEEVENTF_ABSOLUTE 值,则 dx 和 dy 表示相对于上次鼠标事件产生的位置(即上次报告的位置)的移动。正值表示鼠标向右(或下)移动;负值表示鼠标向左(或上)移动。

4. 鼠标的相对移动取决于鼠标速度和加速度等级的设置,一个终端用户可以用鼠标控制面板应用程序来设置这些值,应用程序用 SystemParametersInfo 函数来获取和设置这些值。

5. 在应用加速时系统对指定相对鼠标移动应用了两个测试。如果指定的沿 x 轴 y 轴的距离比第一个鼠标阈值大,并且鼠标的加速等级非零,则操作系统将距离加倍。如果指定的沿 x 轴或 y 轴的距离比第二个鼠标阈值大,并且鼠标的加速等级为 2,则操作系统将从第一个阈测试得来的距离加倍。这样就允许操作系统将指定鼠标沿 x 轴或 y 轴的相对位移加到 4 倍。

6. 一旦应用了加速,系统用期望的鼠标速度换算合成的值。鼠标速度的范围是从 1(最慢)到 20(最快),并代表基于鼠标移动的距离指示符移动的数量。默认值是 10,表示对鼠标的移动设有附加的修改。

7. mouse_event 函数被需要用的应用程序用来合成鼠标事件。也被应用程序用来取得鼠标位置和鼠标按键状态之外的鼠标信息。例如,如果输入板制造商想将基于画笔的信息传给自己的应用程序,可以写一个直接与输入板硬件通信的 DLL 来获得附加的信息,并保存到一个队列中。DLL 然后调用  mouse_event,用标准按键和 x/y 位置数据,并在参数 dwExtralnfo 设置排列的附加信息的指针或索引。当应用程序需要附加信息时,使用存贮在 dwEXtralnfo 中的指针或索引来调用 DLL,并且 DLL 将返回附加信息。


需求:
 

Minimum supported client

Windows 2000 专业版 [仅桌面应用程序]

Minimum supported server

Windows 2000 服务器版 [仅桌面应用程序]

Header

Winuser.h(包含于 Windows.h)

Library

User32.lib

DLL

User32.dll

 

提示
郴维网为您提供各类专业服务:
软件开发,电脑配件销售,WIFI路由器销售,上门电脑维修,上门安装系统,系统安装,软、硬件安装,电脑除尘清灰,显示器维修,WIFI安装调试,服务器维护,数据恢复,密码破解,网络布线,网络检修,打印机维修,打印机加碳粉,苹果电脑安装系统,苹果电脑安装双系统,监控安装维护,电脑外包,笔记本电脑维修,餐饮、美容行业软件安装 等。。。。。。
点击次数:1531 更新时间:2017-6-17 19:29:15  【打印此页
关键词推荐:郴州电脑城 郴州电脑维修公司 维修电脑公司 郴州软件开发 上门电脑维修 上门安装系统 笔记本电脑维修 郴州打印机维修 打印机加碳粉 电脑安装双系统 苹果电脑双系统 液晶显示器维修 联想笔记本维修 联想笔记本维修电话 戴尔笔记本维修电话 郴州戴尔笔记本维修 戴尔笔记本郴州维修点 华硕笔记本维修点 郴州华硕笔记本维修 郴州笔记本上网维修