Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Randomize Timer Command1.Move Abs(Width * Rnd - Command1.Width * 5 / 4), Abs(Height * Rnd - Command1.Height * 3 / 2) End Sub
Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Randomize Timer
Command1.Move Abs(Width * Rnd - Command1.Width * 5 / 4), Abs(Height * Rnd - Command1.Height * 3 / 2)
End Sub
如果程序中没有模拟鼠标移动的代码,是可以很方便的获知当前鼠标是否有物理上的移动的,只要判断鼠标光标的位置是否一样就可以了。
但是现在的问题是,原本程序的代码中就有模拟鼠标移动,那么上述方法就不能获知鼠标是否被移动了。
另外,监测键盘和鼠标是否按下的问题我已经解决了,就是使用GetAsyncKeyState函数来判断的,谢谢各位了!
你所提的方法是行不通的,由于程序中有让鼠标指针模拟移动的代码,所以对比指针位置并不能确定鼠标是否有物理移动啊!
我也有想过,你讲的理论上也确实可行——不过我没有试过!
而且我想知道API中有没有可实现捕获鼠标物理移动的函数或者有其它的方法?!
你所讲的“鼠标钩子”俺完全不懂,能不能给个例子呢?!谢谢!
看我给的例子