|
|
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal bwmilliseconds As Long)
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 Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const SW_SHOWNORMAL = 1
Private Const WM_CLOSE = &H10
Private Const MOUSEEVENTF_MOVE = &H1
Private Const MOUSEEVENTF_LEFTDOWN = &H2
Private Const MOUSEEVENTF_LEFTUP = &H4
Private Const MOUSEEVENTF_RIGHTDOWN = &H8
Private Const MOUSEEVENTF_RIGHTUP = &H10
Private Sub Command1_Click(Index As Integer)
Dim hwnd As Long
hwnd = FindWindow(vbNullString, "三国群英传OnLine")
ShowWindow hwnd, SW_SHOWNORMAL
Sleep 6000
Call SetCursorPos(366, 430)
Call mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
Sleep 6000
Call mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
Call mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
End Sub
Private Sub Command2_Click(Index As Integer)
End
End Sub
关于以上代码我本来是想用SetForegroundWindow来进入游戏 可是一点反映也没有后来改用SHOWWINDOW问题就解决了 不过新的问题来了 如何用代码实现鼠标双击 因为三国这个游戏
用MOUSEEVENTF_LEFTDOWN移动人物的话 人就会一直走不会在你需要的地点停下来等三秒
然后再继续移动 比如你移动到444,555以后 人在那里站三秒不动然后MOVE 这是要通过双击才能实现的 可是我不会 在三国里只要你按住左键超过3秒再放开 人物就会朝那个方向一直走
这个相信玩三国的玩家都了解吧 [em1] [em1] [em1]各位兄弟这个问题小弟就拜托了 [em10] |
|