问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

VB模拟鼠标点击

发布网友 发布时间:2022-04-21 17:48

我来回答

5个回答

热心网友 时间:2022-05-13 01:49

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)
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

上面的是调用系统函数的声明,没什么可解释的,直接拷贝到文件最开始
这样就可以使用系统API函数mouse_event了(其他API可自己上网查,很多资料,如keybd_event)

第一个参数是描述了你鼠标干了什么,具体说明如下
MOUSEEVENTF_ABSOLUTE

dx和dy指定鼠标坐标系统中的一个绝对位置。在鼠标坐标系统中,屏幕在水平和垂直方向上均匀分割成65535×65535个单元 - MOUSEEVENTF_MOVE
移动鼠标
MOUSEEVENTF_LEFTDOWN
模拟鼠标左键按下
MOUSEEVENTF_LEFTUP
模拟鼠标左键抬起
MOUSEEVENTF_RIGHTDOWN
模拟鼠标右键按下
MOUSEEVENTF_RIGHTUP
模拟鼠标右键按下
MOUSEEVENTF_MIDDLEDOWN
模拟鼠标中键按下
MOUSEEVENTF_MIDDLEUP
模拟鼠标中键按下

然后是X,Y坐标(第一项中使用了MOUSEEVENTF_ABSOLUTE为绝对坐标,否则为相对)

后面一个参数buttons没有用
最后一个是额外信息,特殊驱动用的,如果你做按键精灵类的东西没有用。

注意第一个参数是可以互相相与的 这样就是一次很多个效果,当然,分开两次写也可以,这样更清晰。

热心网友 时间:2022-05-13 03:07

提示一下,使用WinIo.dll,百度这个东西,以前用过,具体忘记了。代码比较麻烦,但是属于底层驱动级模拟操作,包括按键、鼠标

热心网友 时间:2022-05-13 04:42

如果程序是自适应分辨率的话应该按比例计算就可以了,新座标x=(100/1440)*新分辨率X
,但有许多游戏和网页都不是自适应的,会有许多留白,那样就不清楚了

热心网友 时间:2022-05-13 06:33

在mouse_event里面用户是不能使用鼠标的,以免鼠标位置的移动而产生按键误差(也即可能不是按在你需要的那个位置上)
而postmessage的话好像就是行的,毕竟这个是后台的
直接传递消息给窗口
就像keybd_event和postmessage一样,用keybd_event去模拟按键的话,你按其他的键的同时,程序的按键也一样在进行,那么得到的实际按键就和程序定义的不一样的,而postmessage就不样,只给指定的程序传递按键,你就可以在其他地方用键盘执行其他的事情的。

热心网友 时间:2022-05-13 08:41

mouse_event肯定不行
因为你在调用这个函数的一瞬间马上执行按建的动作
而postmessage这个函数是把按键消息投递到消息列队
至于什么时候执行得看处理器的速度
一般来说
这两个函数一调用都是马上执行按键动作的。楼主问的这个问题
我想从另外一个方面来说
不管这个函数在执行的时候用户能不能去移动鼠标
这些函数执行都是一瞬间的
大概0.02s在这么短的时间内
你怎么知道到底执行的一瞬间鼠标到底能不能移动呢?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
自由职业有哪些,常见的有语音电台主播、有声书录制等 如何在家当电台主播,首先要选择好平台来做 qq音乐电台主播进公会还是个人? - 知乎 华硕的主板序列号在哪里看啊! 360行车记录仪初始密码 360行车记录仪初始密码忘了 怎么转社保绑定医院 我吃贝瑞左旋整整一瓶了怎么一点也没有减啊,怎么办啊 微量注射泵针管 黄昏不闻人语声的意思是什么 夜久语声绝如闻泣又一的意思 有什么软件能模拟鼠标复杂操作 模拟鼠标持续点击的软件 不是连续点击 是要摁住了那种 键盘模拟鼠标按键 c语言 怎样模拟鼠标键盘操作? 怎么模拟鼠标滑动 oneplayer模拟鼠标 如何用键盘模拟鼠标?鼠标坏了! 键盘怎么模拟鼠标操作 模拟鼠标点击精灵的使用方法 虚拟鼠标怎么设置 电脑触摸屏的模拟鼠标怎么取消 模拟鼠标选项在哪里? 怎样用键盘模拟鼠标 老人常说:孩子取名不能“太大”,有什么科学依据? 给孩子起名叫天昊,都说名字起大了? 为什么不能给孩子取“太大”的名字? 为什么小孩子的名字不能起的太大? 豪门给孩子取名都没有“大”字,背后有什么科学依据? 为什么给孩子起名不能起太“大”? 给孩子取名“太大”,会给孩子带来很大的压力吗? autohotkey怎样模拟鼠标操作 第一次坐飞机难受吗?怎么缓解? 坐飞机时间太长好难受怎么办? 坐飞机为什么不舒服? 删除手机联系人怎么删除 坐飞机难受吗 第一次坐飞机是什么感受如何? 手机中的联系人如何删除 坐飞机难受吗? 我坐飞机的时候感觉特难受,特别是下降的时候...为... 每次坐飞机都特别紧张害怕,怎么克服恐惧感? 自己在群里发的信息如何删除? 坐飞机难受啊,吃不下是晕机吗? 第一次坐飞机会有什么难受的地方? 怎样删除手机里面的联系人号码? 第一次坐飞机有什么难受的地方? 坐飞机难受怎么办 如何删除手机通讯录的联系人? 坐飞机上升过程有那么几阵的心慌气短,虽然每次都... 第一次要坐飞机,坐飞机起飞和降落的时候是什么感觉?