Envoyer des clics de souris pour X coordonnée Y d'une autre application
J'essaie d'envoyer une simulation d'un clic de souris à une autre application. Je comprends comment envoyer la clé de cliquer, ce n'est pas la question. J'ai besoin d'envoyer le clic de la souris vers le centre de l'autre application. Je peux simplement tester une fois et de trouver les coordonnées et envoyer le clic pour que XY emplacement, mais il y a un problème... Quand je bouge la fenêtre, ou redimensionner cette fenêtre, les coordonnées XY ne sera évidemment le même.
J'ai donc besoin de savoir comment obtenir la taille de la fenêtre, et de son emplacement, puis trouver le point central de cette. Quelqu'un sait comment faire cela? Merci beaucoup pour toute réponse!
Voici mon code pour envoyer le clic de la souris
public void SendLeftClick(int x, int y)
{
int old_x, old_y;
old_x = Cursor.Position.X;
old_y = Cursor.Position.Y;
SetCursorPos(x, y);
mouse_event(MouseEventFlag.LeftDown, x, y, 0, UIntPtr.Zero);
mouse_event(MouseEventFlag.LeftUp, x, y, 0, UIntPtr.Zero);
SetCursorPos(old_x, old_y);
}
Le titre est trompeur (en particulier Google), votre problème est de savoir comment trouver la position de la fenêtre et la taille, pas comment envoyer de la souris, cliquez quelque part.
OriginalL'auteur user1127093 | 2012-05-25
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le GetWindowInfo API:
GetWindowRect
ouGetClientRect
ferait. Le supplément de complexité conduit à des erreurs, comme ça vous n'avez pas défini decbSize
avant d'appeler.cbsize ai mis dans le constructeur de la windowinfo appel. Cet appel peut aussi vous aider si il a besoin de prendre en compte les frontières de la fenêtre quand on fait les calculs, mais ta remarque est valide.
Dans le constructeur de paramètre que vous n'utilisez pas?
Vous êtes de droite. Correction de la réponse.
OriginalL'auteur John Koerner
Définir la position du curseur ET aussi de mettre 0,0 que X et Y dans la mouse_event routine:
Fonctionne très bien pour moi maintenant.
OriginalL'auteur Rogério Silva