Comment simuler le clic de la souris?
Je suis en train de faire un programme, cliquez avec le clavier comme dans Osu!.
J'ai essayé de SendKeys() RaiseMouseEvent() et OnMouseClick(). Maintenant, je vais essayer cela et ne pouvez pas obtenir quoi que ce soit au travail...
L'erreur que je reçois est PInvoke restriction: ne peut pas retourner de variantes.
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
OriginalL'auteur Devonx25 | 2013-07-01
Vous devez vous connecter pour publier un commentaire.
Présente des exemples de clics de la souris est actuellement lorsque la fonction est dans le "onn" état:
Si vous voulez cliquez sur les choses avec le mouse_event() de l'API ensuite, soit vous suffit de passer la souris et cliquez sur par des zéros en tant que paramètre (comme dans votre exemple), ou vous devez spécifier les coordonnées de cliquer sur. Mon exemple met le curseur là où il était après le clic. Donc, si vous voulez ", cliquez sur autres choses", puis déplacez la souris sur que d'autres choses, effectue le clic, puis mettre la souris en arrière...
Je ne veux pas déplacer la souris avec le code. Je veux qu'il cliquez à l'endroit où il est.
Oh...votre code d'origine était presque, puis il. Comme je l'ai dit, à l'aide des zéros pour les paramètres clics, là où le curseur est actuellement. Je l'ai testé et il a bien fonctionné pour moi. Je vais poster mon code de test ci-dessus...
Avez-vous vu le lien vers la photo que j'ai ajouté en haut? Il montre ce qu'il dit quand je l'ai essayer...
OriginalL'auteur Idle_Mind
OriginalL'auteur Juanjo
Essayez d'utiliser PerformClick() méthode:
Dans votre code, il pourrait être comme:
OriginalL'auteur Edper