原文链接 -> 传送门
函数功能:
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. 控制鼠标移动和按钮点击的各个方面。该参数可以是下列值的特定组合:
|
||||||||||||||||||||||||||||
|
dx |
鼠标沿 x 轴的绝对位置或者从上次鼠标事件产生以来移动的数量,依赖于 MOUSEEVENTF_ABSOLUTE 的设置。绝对数据作为鼠标的实际 x 坐标;相对数据作为移动的 mickeys 数。一个 mickey 表示鼠标移动的数量,表明鼠标已经移动 |
||||||||||||||||||||||||||||
|
dy |
鼠标沿 y 轴的绝对位置或者从上次鼠标事件产生以来移动的数量,依赖于 MOUSEEVENTF_ABSOLUTE 的设置。绝对数据作为鼠标的实际 y 坐标;相对数据作为移动的 mickeys 数 |
||||||||||||||||||||||||||||
|
dwData |
1. 如果 dwFlags 包含 MOUSEEVENTF_WHEEL,则 dwData 指示滚轮滚动的数量。正值表示滚轮向前滚动,即远离用户的方向;负值表示滚轮向回滚动,即朝向用户的方向。滚轮点击被定义为 WHEEL_DELTA,即 120
|
||||||||||||||||||||||||||||
|
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 |




