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);
}
Merci de ne pas le préfixe de vos titres avec "C#". C'est ce que les balises sont pour.
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