用Windows API:BOOL SetCursorPos( int X, // horizontal position int Y // vertical position );
Private Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As LongPrivate 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)Private Const MOUSEEVENTF_MOVE = &H1 ' mouse move Private Const MOUSEEVENTF_LEFTDOWN = &H2 ' left button down Private Const MOUSEEVENTF_LEFTUP = &H4 ' left button up Private Const MOUSEEVENTF_ABSOLUTE = &H8000 ' absolute move Private Sub TmrSys_Timer() 'FrmMain.Caption = Format(Distance / UnitValue, FormatStr) & UnitName GetCursorPos Pnt NewX = Pnt.X ' * Screen.TwipsPerPixelX NewY = Pnt.Y '* Screen.TwipsPerPixelY ' Distance = Distance + Sqr((NewX - OldX) * (NewX - OldX) + (NewY - OldY) * (NewY - OldY)) OldX = NewX OldY = NewY Dim posx, posy posx = OldX + 1: posy = OldY + 1 a = SetCursorPos(posx, posy) mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTUP, posx, posy, 0, 0 posx = OldX - 1: posy = OldY - 1 a = SetCursorPos(posx, posy) mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTUP, posx, posy, 0, 0 posx = OldX: posy = OldY a = SetCursorPos(posx, posy) ' mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTDOWN, posx, posy, 0, 0 mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTUP, posx, posy, 0, 0 'SendKeys "{f1}" 'SendKeys "{f5}" End Sub
用mouse_event 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)Private Const MOUSEEVENTF_MOVE = &H1 Private Const MOUSEEVENTF_ABSOLUTE = &H8000Private Sub Command1_Click() mouse_event MOUSEEVENTF_ABSOLUTE OR MOUSEEVENTF_MOVE ,50000,50000,0,0 End Sub
int X, // horizontal position
int Y // vertical position
);
Private Const MOUSEEVENTF_LEFTDOWN = &H2 ' left button down
Private Const MOUSEEVENTF_LEFTUP = &H4 ' left button up
Private Const MOUSEEVENTF_ABSOLUTE = &H8000 ' absolute move
Private Sub TmrSys_Timer()
'FrmMain.Caption = Format(Distance / UnitValue, FormatStr) & UnitName
GetCursorPos Pnt
NewX = Pnt.X ' * Screen.TwipsPerPixelX
NewY = Pnt.Y '* Screen.TwipsPerPixelY
' Distance = Distance + Sqr((NewX - OldX) * (NewX - OldX) + (NewY - OldY) * (NewY - OldY))
OldX = NewX
OldY = NewY
Dim posx, posy
posx = OldX + 1: posy = OldY + 1
a = SetCursorPos(posx, posy) mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTUP, posx, posy, 0, 0 posx = OldX - 1: posy = OldY - 1
a = SetCursorPos(posx, posy)
mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTUP, posx, posy, 0, 0
posx = OldX: posy = OldY
a = SetCursorPos(posx, posy)
' mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTDOWN, posx, posy, 0, 0
mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTUP, posx, posy, 0, 0
'SendKeys "{f1}"
'SendKeys "{f5}"
End Sub
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)Private Const MOUSEEVENTF_MOVE = &H1
Private Const MOUSEEVENTF_ABSOLUTE = &H8000Private Sub Command1_Click()
mouse_event MOUSEEVENTF_ABSOLUTE OR MOUSEEVENTF_MOVE ,50000,50000,0,0
End Sub
object.setforcus
object为你想要跳转的控件的名字