简介

函数功能:该函数综合鼠标击键和鼠标动作。

  VOID mouse_event(

  DWORD dwFlags, // motion and click options

  DWORD dx, // horizontal position or change

  DWORD dy, // vertical position or change

  DWORD dwData, // wheel movement

  ULONG_PTR dwExtraInfo // application-defined information

  );

参数

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来获得此附加信息。

  返回值:无。

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

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

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

  鼠标的相对移动服从鼠标速度和加速度等级的设置,一个最终用户用鼠标控制面板应用程序来设置这些值,应用程序用函数SystemParameterslnfo来取得和设置这些值。

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

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

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

  Windows CE:Windows CE不支持参数 dwFlags取MOUSE EVENTF WHEEL常数。

  速查: Windows NT: 3.1及以上版本; Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;输入库:user32.lib。

  vb要自己定义常量。

  '鼠标事件常数

  Const MOUSEEVENTF_LEFTDOWN = &H2

  Const MOUSEEVENTF_LEFTUP = &H4

  Const MOUSEEVENTF_MIDDLEDOWN = &H20

  Const MOUSEEVENTF_MIDDLEUP = &H40

  Const MOUSEEVENTF_MOVE = &H1

  Const MOUSEEVENTF_ABSOLUTE = &H8000

  Const MOUSEEVENTF_RIGHTDOWN = &H8

  Const MOUSEEVENTF_RIGHTUP = &H10

获取更多帮主请关注小程序

mouse_event相关推荐

  1. C#用mouse_event模拟鼠标点击的问题

    1.首先添加using System.Runtime.InteropServices; 2.为鼠标添加模拟点击的各种参数 //鼠标事件  因为我用的不多,所以其他参数没有写 1 2 3 4 5 6 7 ...

  2. Qt:Qt使用鼠标模拟函数mouse_event和按键模拟函数keybd_even实现网页刷新功能

    用Qt实现网页刷新功能 前言 在上一篇博客Qt:使用Qt实现网页自动刷新工具,使用了PostMassage函数 通过Windows的消息机制实现的网页刷新功能.因为消息种类太多,不方便使用和记忆,所以 ...

  3. C# 模拟鼠标(mouse_event)

    想必有很多人在项目开发中可能遇见需要做模拟鼠标点击的小功能,很多人会在 百度过后采用mouse_event这个函数,不过我并不想讨论如何去使用mouse_event 函数怎么去使用,因为那没有多大意义 ...

  4. Mouse_event()

    用Mouse_event()来控制鼠标操作 在自动化测试的开发中,有一些控件的ID是很难找到的,所以有些时候,我们直接设置鼠标的位置,然后是用click事件,会收到很好的效果.在Windows API ...

  5. C#使用mouse_event函数模拟鼠标事件

    C#使用mouse_event函数模拟鼠标事件 mouse_event函数 private static extern int mouse_event(int dwFlags, int dx, int ...

  6. 用Mouse_event()来模拟鼠标操作

    在自动化测试的开发中,有一些控件的ID是很难找到的,所以有些时候,我们直接设置鼠标的位置,然后是用click事件,会收到很好的效果.在Windows API中有个mouse_event函数为我们准备好 ...

  7. win32api 中mouse_event、GetFullPathName(fileName)、.GetLocalTime()、GetSystemDirectory()等函数的用法

    关注公众号:[小张Python],为你准备了 50+ 本Python 精品电子书籍 与 50G + 优质视频学习资料,后台回复关键字:1024 即可获取:如果对博文内容有什么疑问,公众号后台添加作者[ ...

  8. [转载]关于QQ游戏外挂mouse_event不起作用的原因,及我的对对碰外挂程序.

    资源名称 关于QQ游戏外挂mouse_event不起作用的原因,及我的对对碰外挂程序. 作者: dongfa 适用语言: .NET 文件大小 2161 运行平台: Windows XP 上传者: sh ...

  9. mouse_event()函数控制鼠标操作

    在自动化测试的开发中,有一些控件的ID是很难找到的,所以有些时候,我们直接设置鼠标的位置,然后是用click事件,会收到很好的效果.在Windows API中有个mouse_event函数为我们准备好 ...

  10. 用Mouse_event()来控制鼠标操作

    用Mouse_event()来控制鼠标操作 在自动化测试的开发中,有一些控件的ID是很难找到的,所以有些时候,我们直接设置鼠标的位置,然后是用click事件,会收到很好的效果.在Windows API ...

最新文章

  1. linux下Tomcat开机自动启动!
  2. python数字类型-Python基础:数据类型-数字(5)
  3. 用combobox扩展控件(dsCtrlComboBox)做出类似QQ登录界面的效果
  4. python实现阿里云域名绑定动态IP
  5. OpenCV属性页配置问题~
  6. 经验之谈:内存问题造成数据库性能异常怎么破?
  7. (231)DPU数据处理单元现有产品介绍
  8. 树莓派蜜罐节点部署实战
  9. Ubuntu12.04中安装ns-allinone-2.34
  10. Linux学习之路(2-1)文件、目录与磁盘格式
  11. 架构师之路--康奈尔笔记法
  12. day4new-转自金角大王
  13. A调用B方法,@Transactional事务问题
  14. Java程序包不存在问题的解决办法
  15. chrome 54字体变大问题解决方案
  16. 局域网中另外一台服务器的内存_工作中遇到的技术名词
  17. @程序员,承认吧,都是你的错!
  18. Bmob用户功能详解(一)
  19. 浅析 Queue 和 Deque
  20. web飞信 接口解析

热门文章

  1. 英文版-Hillsong Still 安静(现场)
  2. Citavi及DBServer安装使用
  3. Android Studio切换git账户信息 (Windows)
  4. java导致系统满载_排查解决java进程占用系统内存高
  5. Ubuntu 17.10 “Artful Aardvark” 发布首个 Beta
  6. android studio manifestplaceholders,Android Studio - 第四十五期 Gradle manifestPlaceholders
  7. 【国产虚拟仪器】4 通道3.2GSPS(或者配置成2 通道6.4GSPS)采样率的12 位AD 采集FMC+子卡模块
  8. 以美国和加拿大为主的北美旅游市场的特点
  9. iOS开发的就业形势怎么样?
  10. 华为鲲鹏服务器安装 k3s+rancher