我正在試圖製作一個程序來點擊鍵盤,如Osu!。 我試過SendKeys()RaiseMouseEvent()和OnMouseClick()。現在,我想這一點,並不能得到任何工作...... 我不斷收到錯誤PInvoke restriction: cannot return variants.如何模擬鼠標點擊?
Public Class Form1
Dim onn As Boolean = False
Declare Function mc Lib "user32.dll" Alias "mouse_event" (flag, x, y, button, extra)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Not onn Then
Button1.Text = "Off"
Label1.Text = "Status: On"
onn = True
ElseIf onn Then
Button1.Text = "On"
Label1.Text = "Status: Off"
onn = False
End If
End Sub
Private Sub Form1_KeyPress1(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
If onn And (e.KeyChar = "Z" Or e.KeyChar = "X" Or e.KeyChar = "z" Or e.KeyChar = "x") Then
mc(&H2, 0, 0, 0, 0)
mc(&H4, 0, 0, 0, 0)
End If
End Sub
End Class
將光標移動到右邊的按鈕?這不是我想要做的。我不想用鼠標點擊按鈕。該按鈕將其打開。當我點擊z或x時,我想點擊其他的東西,就像我點擊鼠標按鈕一樣。例如,如果我現在將鼠標移動到「添加註釋」上,然後點擊z或x,就會像點擊鼠標一樣點擊它。 – Devonx25
如果你想用mouse_event()API來點擊東西,那麼你必須先移動鼠標並點擊零作爲參數(如你的例子),或者你必須指定實際座標點擊。我的示例將光標放回到執行單擊之後的位置。所以,如果你想「點擊其他的東西」,然後將鼠標移動到其他的東西,執行點擊,然後把鼠標放回... –
我不想移動代碼的鼠標。我希望它能夠點擊它的位置。 – Devonx25