Comment déclencher par programme un clic gauche de souris en C #?

Comment pourrais-je déclencher par programme un événement de clic gauche sur la souris?

Merci.

edit: l’événement n’est pas déclenché directement sur un bouton. Je vise la plate-forme Windows.

https://web.archive.org/web/20140214230712/http://www.pinvoke.net/default.aspx/user32.sendinput

Utilisez l’API Win32 pour envoyer une entrée.

Mettre à jour:

Étant donné que je ne travaille plus avec l’API Win32, je ne mettrai pas à jour cette réponse pour qu’elle soit correcte lorsque la plate-forme change ou que les sites Web deviennent indisponibles. Etant donné que cette réponse n’est même pas conforme aux normes de Stackoverflow (ne contient pas la réponse elle-même, mais plutôt un lien vers une ressource externe désormais obsolète), il est inutile de lui donner des points ou de passer plus de temps dessus.

Au lieu de cela, jetez un oeil à cette question sur Stackoverflow, qui, à mon avis, est un doublon:

Comment simuler un clic de souris en C #?

Si c’est juste sur un bouton, vous pouvez utiliser

 button1.PerformClick(); 

Sinon, vous pouvez consulter cet article MSDN qui traite de la simulation de la saisie à la souris (et au clavier).

De plus, ce projet pourra peut-être vous aider. Sous les couvertures, il utilise SendInput .

Pour effectuer un clic de souris:

  [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo); private const int MOUSEEVENTF_LEFTDOWN = 0x02; private const int MOUSEEVENTF_LEFTUP = 0x04; private const int MOUSEEVENTF_RIGHTDOWN = 0x08; private const int MOUSEEVENTF_RIGHTUP = 0x10; public static void DoMouseClick() { mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); } 

Pour déplacer le curseur où vous voulez:

 [DllImport("user32.dll")] static extern bool SetCursorPos(int X, int Y); public static void MoveCursorToPoint(int x, int y) { SetCursorPos(x, y); }