Comment avez-vous simuler le Clic de la Souris en C#?
Comment avez-vous simuler le Clic de la Souris en C#?
- Vous voudrez peut-être fournir plus d'informations afin que vous pouvez obtenir une réponse utile.
- Qu'entendez-vous par là? Est-ce pour des fins de test?
- Astuce: Si votre titre est le même que celui de votre question, puis le titre est trop long ou que la question est trop court. Dans ce cas, c'est le deuxième cas, vous avez à donner beaucoup plus de contexte pour quiconque d'avoir une chance raisonnable de vous donner une réponse utile.
- tldr;..........
Vous devez vous connecter pour publier un commentaire.
Un exemple que j'ai trouvé
quelque partici dans le passé. Peut-être d'un peu d'aide:public static extern void mouse_event()
une méthode/propriété de la solution de projet/application, en d'autres termes, je veux la solution et l'application a besoin d'un clic de souris sont deux applications différentes. Je suis en train de construire application à la détection automatique et cliquez sur <OK> bouton dans une boîte de message de la personne qui d'autres applications génèrent. 2-soient X et Y de la <OK> positions des boutons?J'ai combiné plusieurs sources, pour produire le code ci-dessous, que je suis en train de l'utiliser. J'ai également supprimé les Fenêtres.Les formulaires de références afin que je puisse l'utiliser à partir de la console et des applications WPF sans références supplémentaires.
1. SetCursorPos, 2. MouseEvent(LeftButtonDown), 3. SetCursorPos, 4. MouseEvent(LeftButtonUp)
. Potentiellement, l'envelopper dans une méthode d'assistanceCertains contrôles, comme le Bouton dans le Système.De Windows.Formes, ont un "PerformClick" méthode pour le faire.
Microsoft.VisualStudio.TestTools.UITesting
InvalidUITestExtensionPackageException
, de sorte qu'il semble être extrêmement pointilleux sur l'exécution dans un certain type de projet, malheureusement.J'ai essayé le code que Marcos posté et ça n'a pas fonctionné pour moi. Tout ce que je a été donné à la coordonnée Y du curseur n'a pas été déplacé sur l'axe Y les. Le code ci-dessous si vous souhaitez que la position du curseur par rapport à la gauche jusqu'au coin de votre bureau, pas par rapport à votre demande.
Je n'utilise que des mouse_event fonction pour effectuer le clic.
Vous pouvez donner à X et Y que les coordonnées que vous voulez, j'ai utilisé des valeurs de zone de texte:
Cursor.Position
est assez bon pour positionner le curseur de la souris à l'endroit où vous souhaitez, puis utilisez WIN32API pour faire le clic.ils sont certains besoins, je ne vois pas à dôme chose comme Keith ou Marcos Placona fait, au lieu de simplement faire
null
dans le deuxième paramètre, il va jeter unNullReferenceException
, au lieu d'utiliserEventArgs.Empty
NullReferenceException