Simuler la souris

Contenu du snippet

on montre comment: faire un click, detecter la position de la souris, bouger la souris et la rendre invisible/visible...

Source / Exemple :


#include <windows.h>

int STDCALL
WinMain (HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmd, int nShow)
{
  POINT pos; //espace pour loger les coordonnées
  GetCursorPos(&pos); //loge les coordonnées (x,y) de la position initiale de la souris
  
  ShowCursor(TRUE); //rendre la souris visible (je sait que ca sert a rien parce qu'elle l'est déja mais c'est a titre démonstratif) remplacer TRUE par FALSE pour la rendre invisible 

  #define X 200   //on peut metre une autre valeur pour agrandir ou diminuer le x mais la valeur doit etre plus grande ou egale a 100
  
  //diagonale  haut/gauche : bas/droite
  for (int i=0; i<X; i+=X/100)
      {
      SetCursorPos(pos.x-X/2+i, pos.y-X/2+i);  //place la souris a: position_initiale.(x_ou_y) - grandeur_du_X /2 + la_ou_on_est_randu_dans_la_boucle  en x ET en y ce qui fait une diagonale
      Sleep(5);
      }
  
  //diagonale  bas/gauche : haut/droite
  for (int i=X; i>0; i-=X/100)
      {
      SetCursorPos(pos.x+X/2-i, pos.y-X/2+i);  //place la souris a: position_initiale.(x_ou_y) - grandeur_du_X /2 + la_ou_on_est_randu_dans_la_boucle  en x ET en y ce qui fait une diagonale
      Sleep(5);
      }

  
  //demander si on veut recommencer
  if (MessageBox (NULL, "voulez vous recommencer?" , "SouriX", 0 + MB_YESNO + MB_ICONQUESTION)==IDYES)
     { //si oui:
     SetCursorPos(pos.x, pos.y); //remetre la souris a la position initialle

     //simuler un double click gauche (remplacer: MOUSEEVENTF_LEFTDOWN par MOUSEEVENTF_RIGHTDOWN ou MOUSEEVENTF_RIGHTUP pour le boutton droit)
     mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); //boutton gauche appuyer
     mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); //boutton gauche relacher

     Sleep(3); //les ordinateurs lents pouraint ne pas comprendre le 2eme click sinon

     mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); //boutton gauche appuyer
     mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); //boutton gauche relacher

     //normalement on a parti le programme en cliquant/double_cliquant dessus donc la position_initiale est sur le fichier et le programme redouble clique dessus :)
     } //bon je sais un goto ou une boucle aurait suffi mais c'est pour vous montrer d'autres commande ;)

  return 0;
}

Conclusion :


vous allez me dire que faire des X avec une souris ca sert pas a grand choses... bein vous avez raison :) ... mais le but c'etait de montrer a faire un max de choses avec la souris...

ps: jai fait cette source sur demande...

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.