' -------------------------------------------
'        模拟鼠标的左键单击和右键单击
' -------------------------------------------
' 程序说明:
' 本例采用API函数实现模拟的鼠标事件,程序运行后会
' 产生十分有趣的效果。也来试一试。
' 本例中只使用了相对鼠标坐标,我们也可以使用绝对
' 鼠标坐标来试一试。
' -------------------------------------------

' 【VB声明】
'   Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)

' 【说明】
'   模拟一次鼠标事件

' 【备注】
'   进行相对运动的时候,由SystemParametersInfo函数规定的系统鼠标轨迹速度会应用于鼠标运行的速度

' 【参数表】
'   dwFlags --------  Long,下述标志的一个组合
'   MOUSEEVENTF_ABSOLUTE
'   dx和dy指定鼠标坐标系统中的一个绝对位置。在鼠标坐标系统中,屏幕在水平和垂直方向上均匀分割成65535×65535个单元 -
'   MOUSEEVENTF_MOVE         移动鼠标
'   MOUSEEVENTF_LEFTDOWN     模拟鼠标左键按下
'   MOUSEEVENTF_LEFTUP       模拟鼠标左键抬起
'   MOUSEEVENTF_RIGHTDOWN    模拟鼠标右键按下
'   MOUSEEVENTF_RIGHTUP      模拟鼠标右键抬起
'   MOUSEEVENTF_MIDDLEDOWN   模拟鼠标中键按下
'   MOUSEEVENTF_MIDDLEUP     模拟鼠标中键抬起
'   dx -------------  Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定水平方向的绝对位置或相对运动'

'   dy -------------  Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定垂直方向的绝对位置或相对运动

'   cButtons -------  Long,未使用

'   dwExtraInfo ----  Long,通常未用的一个值。用GetMessageExtraInfo函数可取得这个值。可用的值取决于特定的驱动程序
Option   Explicit
     Private   Declare   Sub  mouse_event  Lib   " user32 "  _
    ( _
     ByVal  dwFlags  As   Long , _
     ByVal  dx  As   Long , _
     ByVal  dy  As   Long , _
     ByVal  cButtons  As   Long , _
     ByVal  dwExtraInfo  As   Long  _
    )
 
' 对API变量的定义
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函数,其参数的设置见前面说明
     ' 如果同时要模拟两个鼠标事件,可以用 Or 将两个参数连接
     ' 这里是 鼠标左键按下 和松开两个事件的组合即一次单击:
    mouse_event MOUSEEVENTF_LEFTDOWN  Or  MOUSEEVENTF_LEFTUP,  0 ,  0 ,  0 ,  0

' 模拟鼠标右键单击事件:
    mouse_event MOUSEEVENTF_RIGHTDOWN  Or  MOUSEEVENTF_RIGHTUP,  0 ,  0 ,  0 ,  0
 
     ' 两次连续的鼠标左键单击事件 构成一次鼠标双击事件:
    mouse_event MOUSEEVENTF_LEFTDOWN  Or  MOUSEEVENTF_LEFTUP,  0 ,  0 ,  0 ,  0
    mouse_event MOUSEEVENTF_LEFTDOWN  Or  MOUSEEVENTF_LEFTUP,  0 ,  0 ,  0 ,  0

模拟鼠标的左键单击和右键单击相关推荐

  1. winapi模拟鼠标按住左键拖动

    继前文<windows下通过uiAutomation技术获取ui元素>介绍获取ui元素信息后,还需要对信息进行修改,但是 uiAutomation 技术并未提供可修改的 api,只能另辟他 ...

  2. C#怎么判断是鼠标左键单击还是右键单击?

    C#怎么判断是鼠标左键单击还是右键单击? 判断方法如下: private void MouseClick(object sender, MouseEventArgs e){ if (e.Button ...

  3. Qt编写的小软件:一个模拟按键按下和鼠标(左键)按下的小工具

    最近玩SLG游戏的时候有大量对剧情推进无意义的对话想要跳过的时候只能狂按空格键或者狂点鼠标,还好本人好歹是程序员,于是写了个小工具来处理. 下载地址:Qt编写的模拟鼠标按下和按键按下的小工具-C++文 ...

  4. 鼠标的左键不灵及微动开关调整与替换

    我购买的M330鼠标使用快五年了.左边按钮有点不灵敏了. 因为现在都是无尾巴鼠标,很多次拿笔记本时都把鼠标从一米多高摔地下.每次掉地上之后都会出现鼠标左键控制不灵敏的问题.原因就是微动开关老化了,行程 ...

  5. C#winform实现鼠标响应左键按下,并记下其坐标

    private void Form1_MouseClick(object sender, MouseEventArgs e){this.label1.Text = "相对坐标:" ...

  6. php控制鼠标,HTML_用VBS控制鼠标的实现代码(获取鼠标坐标、鼠标移动、鼠标单击、鼠标双击、鼠标右击),怎么用VBS模拟鼠标左键单击、 - phpStudy...

    用VBS控制鼠标的实现代码(获取鼠标坐标.鼠标移动.鼠标单击.鼠标双击.鼠标右击) 怎么用VBS模拟鼠标左键单击.左键双击.右键单击?-- 网上搜到的答案普遍是VBS无法实现,或者是要用第三方COM( ...

  7. 真就释放双手?C#模拟鼠标操作

    前言 最近玩贪玩蓝月,老是让我呆呆站着领在线礼包?我可能每过几分钟就领一下礼包吗?害,要是有人能帮我一会点一下鼠标就好了- -于是,奇怪的知识又增加了- - 页面设计 注:因为控件可能有点多,代码中也 ...

  8. Selenium:模拟鼠标操作

    鼠标操作:左键单击,右键点击,左键双击,箭头移动,托拉拽 一般左键单击直接用 click() 左键单击 其它类模拟方式定义在org.openqa.selenium.interactions.Actio ...

  9. php左键点改成左键点,window_win10怎么将鼠标左键设置为主键?win10鼠标左右键互换的技巧,当我们的鼠标使用一段时间之 - phpStudy...

    win10怎么将鼠标左键设置为主键?win10鼠标左右键互换的技巧 当我们的鼠标使用一段时间之后,会由于左键经常按压而导致老化或者损坏,而对于突然间的损坏,又没有其他可以替代的鼠标时候,就需要对鼠标左 ...

最新文章

  1. php修改http header,php header函数的常用http头设置
  2. thinkphp 视图模型 两个字段映射同一个表
  3. ReadyFor4GB破解win7支持4G内存恢复到原系统
  4. javascript对时间的校验操作
  5. 如何在 Kaggle 首战中进入前 10%
  6. 用Perl做个简单”下载者病毒”
  7. python时间格式化代码_Python datetime格式化代码
  8. 浅析 Linux 初始化系统(系统服务管理和控制程序/init system) -- UpStart
  9. Ubuntu下设置环境变量的三种方法
  10. Lnmp上安装Yaf学习(二)
  11. 7-1 打印沙漏 (20 分)
  12. linux内存专题,linux内存浅析
  13. 来自IT公司速查手册的各大IT公司薪资和待遇内幕
  14. eova项目搭建时提示WEB容器Path配置不正确,资源无法方位,请检查web容器配置
  15. Mac OS使用技巧之四:修改打开不同格式视频的默认播放器
  16. 计算机上未检测到u盾,u盾检测不到-电脑上检测不到我的U盾怎么办? 爱问知识人...
  17. python数据分析与应用pdf_看了Python在金融行业中的应用,大数据分析实在太重要了!...
  18. java-小学期小小项目-通讯录管理系统
  19. 显示器手调对比度算法介绍
  20. 【前端基础知识】讲清楚正则表达式——第四期(4/5)

热门文章

  1. ubuntu+nvidia显卡驱动安装+(顺带)解决rviz卡顿/CPU使用率过高问题/compiz占用CPU过高问题
  2. HISAT2 - StringTie - DESeq2 pipeline 进行bulk RNA-seq
  3. android 格式化USB 和移除USB(U盘)
  4. java jettison_java - 使用Jettison进行JSON解析 - 堆栈内存溢出
  5. SA8295P高通第四代座舱旗舰量产车型(奔驰E)
  6. 大龄程序员的一次考研之旅
  7. 打游戏最稳的主力机:realme真我GT Neo2发布
  8. jsqlparser:实现基于SQL语法分析的SQL注入攻击检查
  9. iOS视频播放之AVPlayer
  10. PyQt_QTimer