Public Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Public 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)
Public Const MOUSEEVENTF_LEFTDOWN = &H2
Public Const MOUSEEVENTF_LEFTUP = &H4
Sub 点击(x As Integer, y As Integer)
Call SetCursorPos(x, y)
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
End Sub
以上这段代码在VB6里面没问题,可现在在2012里面就用不了,能看到鼠标的移动,但是位置不对,总是移到屏幕的左上角方向,
请大神帮忙解决下,本人刚接触2012两天,确实不好意思,请稍详细点,谢谢。
------解决思路----------------------
你给的是屏幕坐标
你需要把它转换成工作区坐标
或者自己根据窗口位置加一下
------解决思路----------------------
VB6里面Long是32位,到了VB.Net中Integer才是32位。
API中的参数类型错了吧。