IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Bouger le curseur de souris automatiquement


Sujet :

Delphi

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 108
    Par défaut Bouger le curseur de souris automatiquement
    Bonjour

    voila je voudrais une fois mon programme lancer lui faire déplacé la sourie a un endroit precit sur l'écran. je penssé utilisé

    mais je ne voit pas se qu'il faut mettre dans le premier paramétre.

    et une fois arrivé a cette endroit simuler une clic gauche de la souris grace à

    merci d'avance

  2. #2
    Membre éclairé Avatar de liazidf
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2002
    Messages : 281
    Par défaut mouse
    la Réponse se trouve dans l'aide de delphi, mais je sais pas si cette fonction déplace la souris.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MouseMove(ssLeft,x,y);

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 108
    Par défaut
    ^^ heuuuu c pas ca mais j'ai regardé quand même avant dans l'aide delphi ...

    bref ca ne fonctionne par le compilateur m'affiche une erreur

    type incompatible 'tshifstate'et 'enumeration'

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 108
    Par défaut
    il me semble avoir trouver un ptit truc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MouseMove(KeysToShiftState(SS_LEFT),320,350);

  5. #5
    Membre éclairé Avatar de liazidf
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2002
    Messages : 281
    Par défaut
    Excusez moi, j'ai oulier les crochets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MousMove([ssLeft],x,y);

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 108
    Par défaut
    arf normlement quand je fait un clic gauche ma souris doit aller directemetn sur l'endroit que j'ai definit avec mon Xet Y non ??
    car la ca ne le fait pas

  7. #7
    Membre Expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Par défaut
    Le mieux, c'est d'utiliser cette fonction :
    Simple, efficace, fonctionnel (alors qu'avec MouseMove,c'est pas gagné )....

    La seule chose, c'est que SetCursorPos prend les coordonnées "écran" en paramètre.

    Si tu veux déplacer ta souris dans une fiche, ou un bouton, il te faudra convertir les coordonnées "Fiche" ou "Bouton" en coordonnées "écran".

    Celà se fait très simplement grace à la méthode ClientToScreen() des contrôle Delphi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    procedure TForm1.Button1Click(Sender: TObject);
    var UnPoint:TPoint;
    begin
      //coordonnées de la fiche où on souhaite positionner la souris
      UnPoint:=Point(10,10);
      //Changement de coordonnée Fiche-->Ecran
      UnPoint:=Form1.ClientToScreen(UnPoint);
      //Positionnement du curseur de souris sur l'écran
      SetCursorPos(UnPoint.X,UnPoint.Y);
    end;

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 108
    Par défaut
    Merci sa fonctionne mais j'ai rajouter ca pour que une fois arrivé a cette endrois on simulle un clic de souris

    mais sa ne clic pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SetCursorPos(1009,10);
    keybd_event(VK_LBUTTON,0,1,0); //touche enfoncé
    keybd_event(VK_LBUTTON,0,2,0); //touche relevé

  9. #9
    Membre Expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Par défaut
    Prend l'unité UnitSystem dans mon projet du Défi n°1 (téléchargeable dans la fiche du défi)

  10. #10
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    J'ai retrouvé l'info dans l'unité UnitSystem de Waskol :

    Voici un petit code fonctionnel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    ShowMessage('OK');
    end;
     
    procedure TForm1.Button2Click(Sender: TObject);
    var
    UnPoint: TPoint;
    begin
    UnPoint:=Point(220,120);
    UnPoint:=Form1.ClientToScreen(UnPoint);
    SetCursorPos(UnPoint.X,UnPoint.Y);
    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    end;

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 108
    Par défaut
    c bon ca marche merci beaucoup a tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/12/2011, 19h32
  2. Replacer le curseur de la souris automatiquement
    Par warenbe dans le forum Moteurs 3D
    Réponses: 4
    Dernier message: 13/01/2009, 16h48
  3. Réponses: 0
    Dernier message: 04/10/2008, 13h23
  4. Faire bouger le curseur automatiquement...
    Par shadowbob dans le forum C++
    Réponses: 2
    Dernier message: 08/12/2005, 20h56
  5. fullscreen et curseur de souris!
    Par bakonu dans le forum OpenGL
    Réponses: 4
    Dernier message: 12/05/2004, 10h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo