雨夜 发表于 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无私奉献.....试下先~~~~~~~~~~
页: [1]
查看完整版本: [求助] 如何精确移动鼠标 (已解决)