Comment effectuer une Virtuel de la Souris cliquez sur visual C# sans l'aide d'une souris
J'aimerais effectuer un clic dans une application windows, sans l'aide de la souris (donc je ne peut le réduire). Un peu comme un bot serait se comporter.
Comment puis-je faire?
Est-il une raison pour laquelle vous ne pouvez pas Réduire dans le code?
Vous pouvez obtenir de meilleures réponses, si vous fournir plus d'informations sur ce que vous voulez. "Sans l'aide d'une souris" peut vouloir dire sans que l'utilisateur ait à se déplacer physiquement attrape la souris...
Vous voyez ce qu'il dit quand vous passez votre souris sur la flèche à côté de cette question? "La question de recherche de l'effort; il est utile et clair". Aucun de ces critères sont remplis, la façon dont cette question a 3 upvotes me déroute.
il ne semble pas si difficile à comprendre pour moi; en plus facile expressions, je suis assez sûr qu'il veut quelque chose comme "Hé ApplicationX, j'ai juste cliqué sur vous à x200, y400" - Alors que l'ApplicationX est en fait réduite au minimum, et le réel pointeur de la souris n'est pas affectée
A ma réponse ci-dessous acceptable? Si oui, veuillez accepter comme réponse. Si non, s'il vous plaît laissez-moi savoir ce que je peux faire pour clarifier ou améliorer pour vous.
Vous pouvez obtenir de meilleures réponses, si vous fournir plus d'informations sur ce que vous voulez. "Sans l'aide d'une souris" peut vouloir dire sans que l'utilisateur ait à se déplacer physiquement attrape la souris...
Vous voyez ce qu'il dit quand vous passez votre souris sur la flèche à côté de cette question? "La question de recherche de l'effort; il est utile et clair". Aucun de ces critères sont remplis, la façon dont cette question a 3 upvotes me déroute.
il ne semble pas si difficile à comprendre pour moi; en plus facile expressions, je suis assez sûr qu'il veut quelque chose comme "Hé ApplicationX, j'ai juste cliqué sur vous à x200, y400" - Alors que l'ApplicationX est en fait réduite au minimum, et le réel pointeur de la souris n'est pas affectée
A ma réponse ci-dessous acceptable? Si oui, veuillez accepter comme réponse. Si non, s'il vous plaît laissez-moi savoir ce que je peux faire pour clarifier ou améliorer pour vous.
OriginalL'auteur Frunk | 2013-02-28
Vous devez vous connecter pour publier un commentaire.
Je pense que la fonction que vous recherchez est
PostMessage
Vous pouvez en lire plus à ce sujet ici sur codeproject, et de télécharger une démo du projet, qui envoie des séquences de touches.
Cette méthode postes des messages directement sur l'entrée de la file d'attente associée avec le programme, basé sur la poignée de processus que vous utilisez (hWnd)
Vous pouvez également utiliser cette fonction pour envoyer des clics de souris avec elle, par l'affichage des événements de bouton, comme suit:
Plus d'informations sur ces événements de bouton peut être trouvé ici sur MSDN.
Je suis sûr que si vous effectuez une recherche autour de l'internet pour des échantillons pour PostMessage les événements souris, vous trouverez de nombreux
Lien vers l'article" est trompeur. Je voudrais rire à la blague, mais il y a des posts sur DONC, affirmant qu'il ne peut être fait avec
PostMessage(hWnd, WM_LBUTTONDBLCLK, ?, ?)
. Avez-vous essayé et confirmé qu'il travaille?le lien semble brisé ou modifié de quelque chose d'autre. J'ai supprimé de ma réponse. Mais oui, j'ai utilisé SendMessage et PostMessage avant d'envoyer des séquences de touches ou la souris événements dans les applications.
OriginalL'auteur Ron Sijm
Le code ci-dessous est un repost de ici:
OriginalL'auteur Brian
Quand je simule du clavier et de la souris, j'utilise D'Entrée De Windows Simulateur
Je ne pense pas que ce soit possible, cependant vous pouvez en programmant déplacez le pointeur vers l'emplacement souhaité
OriginalL'auteur Zaid Amir
Vous pouvez utiliser une minuterie, ou à manipuler les clés de la presse, et de créer dans la graduation de minuterie ou de la touche de fonction de simuler un clic de souris, à l'aide de la user32.dll fichier (vaut mieux être dans une forme de forme de sorte que vous pouvez gérer intervalle de minuterie...):
}
à partir de user32.dll fichier
si vous voulez vérifier si la touche a été pressée, essayez
if(GetAsyncKeyState(keyCode) == 15){}
lorsque le mot de code est la valeur ASCII de la touche.
OriginalL'auteur BinaryLord
Vous aurez besoin de la résolution de la machine que c'est sur, utiliser le
System.Windows.Forms.Screen
classe, ici: DONCVous aurez alors besoin de déplacer la souris à cet endroit, ou d'éviter que, vous pouvez avoir besoin de crochet pour le programme en cours d'exécution, et de l'envoyer à un événement qui l'amène à minimiser.
Ça va être dur pour obtenir quelque chose comme ceci fonctionne avec C#, que vous aurez besoin d'injecter le DLL dans le programme. Un langage de plus bas niveau comme le C peut être utile.
Voici une brève explication /question
OriginalL'auteur plast1K
J'ai trouvé ce à http://social.msdn.microsoft.com/forums/en-US/winforms/thread/86dcf918-0e48-40c2-88ae-0a09797db1ab/.
Par virtual-clic de souris, je suppose qu'il veut dire, par exemple "MouseClick("Internet Explorer", 100, 400); qui va envoyer un clic pour IE, même si elle reste réduite.
Ce n'utilise pas le physique de la souris; selon l'auteur, il "simuler[s] un clic de souris, par l'appel de la mouse_event API", pas réellement à l'aide de la souris.
Je pense que vous êtes supposons que pour interpréter sa question comme "Un clic dans une application windows, sans l'aide de la souris, afin que je puisse [envoyer un clic, alors que la fenêtre est réduite]" - alors comme un bot cliquant à l'intérieur de la fenêtre réduite.
OriginalL'auteur Deep in the Code
Vous pouvez utiliser la Fenêtre Automation pour en savoir Minimiser le bouton dans la fenêtre et cliquez sur exécuter. Je trouve ça facile et beaucoup utilisé. voici le lien pour comprendre le concept.
https://msdn.microsoft.com/en-us/library/windows/desktop/ff486375(v=vs. 85).aspx
OriginalL'auteur vishal dhaduk