鼠标单击使用sendMessage问题

时间:2015-08-30 07:47:09

标签: vb.net sendmessage mouseclick-event mouse-coordinates

工作3个小时之后,我终于设法制作了一个代码,在窗口内点击鼠标而不移动光标,或者使用sendMessage使窗口处于活动状态。以下是我的一些代码:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles     Button1.Click
    Dim x As Integer = Integer.Parse(TextBox1.Text)
    Dim y As Integer = Integer.Parse(TextBox2.Text)
    If (hw) Then
        SendMessage(hw, WM_LBUTTONDOWN, 0, MAKELONG(x, y))
        SendMessage(hw, WM_LBUTTONUP, 0, MAKELONG(x, y))
    End If
End Sub

我在记事本中尝试过,效果很好。但是,我试图在游戏中进行,但由于某些原因x,y不起作用,点击发生在我在游戏中的最后一个鼠标位置。我有什么想法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

尝试首先将mousemove事件发送到窗口,例如:

Public Const WM_MOUSEMOVE = &H200
SendMessage(MainWindow, WM_MOUSEMOVE, 0, MakeDWord(P.X, P.Y))

如果这不起作用,请尝试在将鼠标移动事件发送到窗口后添加Threading.Thread.Sleep(100)。