看流星社区

 找回密码
 注册账号
查看: 2744|回复: 1

[VB] [求助] 如何精确移动鼠标 (已解决)

[复制链接]

该用户从未签到

发表于 2011-4-5 10:36:51 | 显示全部楼层 |阅读模式
我做了个小程序.可以将鼠标移动到textx texty 中的数值点上.用timer控制.部分代码如下:  
Private Sub Timer1_Timer()  
mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_MOVE, 0, 0, 0, 0  
mouse_event MOUSEEVENTF_MOVE, Val(Text1.Text), Val(Text2.Text),  
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0  
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0  
Timer1.Enabled = False  
Timer2.Enabled = True  
End Sub  

Private Sub Timer2_Timer()  
mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_MOVE, 0, 0, 0, 0  
mouse_event MOUSEEVENTF_MOVE, Val(Text3.Text), Val(Text4.Text),  
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0  
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0  
Timer2.Enabled = False  
Timer3.Enabled = True  
End Sub  


Private Sub Timer3_Timer()  
if a=0 then  
Timer3.Enabled = False  
Timer1.Enabled = True  
end if  
End Sub  
有个问题一直解决不了.就是第一次执行时可以正确执行.鼠标可以准确的点击目标位置的按钮.再次执行就一定出错.根本点不找按钮.  
我用一个按钮来测试Val(Text1.Text), Val(Text2.Text), 中的位置.每次都准确定位.
而且我在1024*768分辨率下移动到X375 Y273居然快到右下角了.  
怎么才能精确的保存鼠标位置并且可以按分辨率或者其它方法移动鼠标?


解决方法之一
用tiemer每1毫秒移动1(相对鼠标位置移动1)。
用变量判断是否到位。
X轴到位时再移动Y。反之也行。
方法很笨。但能实现。

期待高手说下更好的方法

该用户从未签到

发表于 2011-4-5 10:37:03 | 显示全部楼层
感谢LZ无私奉献.....试下先~~~~~~~~~~
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-3-29 07:38

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表