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 :

Faire un robot qui appuie sur une touche avec compteur


Sujet :

Delphi

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Faire un robot qui appuie sur une touche avec compteur
    Bonjour tout le monde.

    Voila j'aimerais faire un petit prog en delphi parce que j'y chipote un peu!
    l'idée est simple mais je suis débutant.

    J'aimerais automatiser la pression d'une touche "1"du numpad en cliquant simplement sur un boutton.
    Comment lui faire comprendre qu'il faut considérer cette action sur une page web active "pour faire un vote automatique sur un site de rencontre " 1 = oui je rencontre la fille , 2 non.

    j'ai vu une explication du principe comme tel :

    WM_KEYDOWN : c'est le premier message qu'envoie Windows à une application lorsqu'on enfonce une touche du clavier.
    WM_CHAR : il est envoyé au moment ou WM_KEYDOWN est récupéré par l'application.
    WM_KEYUP : c'est le dernier message qu'envoie Windows. Il est envoyé lorsque la touche est relâchée.

    J'ai eu cette petit idée alors j'aimerais bidouiller le truc.
    Il y a un petit compteur dans une listbox aussi pour dire que la fille numéro "..." est validée
    Comment sortir de la boucle après 600fois et stopper le programme automatiquement .

    Merci pour votre aide

    voici un bout du code " qui ne marche pas "

    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
    16
    procedure TFprinc.btnclickClick(Sender: TObject);
    var i,click,nombre : integer;
     
    begin
    nombre:=0;
    while nombre <10 //au moment ou nombre "nb" refait l'instruction mais faut mettre a 600
       do begin
       Inc(nombre);//Inc pour inrementer un nombre (nombre:=nombre+1)
       listbox1.Items.Add('Oui pour la fille : '+inttostr(nombre));
       end;
          keybd_event(VK_NUMPAD1,0,0,0); //enfoncer touche 1 du numpad
          keybd_event(VK_NUMPAD1,0,KEYEVENTF_KEYUP,0); //relever touche1 du numpad
     
          keybd_event(31,0,0,0); //enfoncer touche 1 du numpad
          keybd_event(31,0,KEYEVENTF_KEYUP,0); //relever touche1 du numpad
    end;

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Utilise SetForegroundWindow pour passer le navigateur au 1er plan
    GetWindow, FindWindow, EnumWindows ... sont différentes API Windows permettant de trouver la fenêtre
    Comme les navigateurs ont souvent des onglets, cela risque de se compliquer pour afficher le bon onglet

    tu peux aussi remplacer keybd_event avec un SendMessage avec le bon handle



    Après la boucle Application.Terminate, le programme s'arretera

    plus brutal Halt
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 685
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 685
    Points : 13 102
    Points
    13 102
    Par défaut
    Il faut interdire l'activation de la fiche sinon c'est elle-même qui reçoit les commandes qu'elle émet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    type
      TFprinc = class(TForm)
      protected
        Procedure  CreateParams(var Params: TCreateParams); override;
      end;
     
    procedure TFprinc.CreateParams(var Params: TCreateParams);
    begin
      inherited;
      Params.ExStyle := Params.ExStyle or WS_EX_NOACTIVATE or WS_EX_TOPMOST;
    end;

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Ok merci je vais essayer ce soir quand je rentre...
    Ce petit bout de code je dois l’intégrer ou sur Fprinc ?
    Dsl j'ai bien précisé que je suis débutant ...

    Cordialement.

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/02/2007, 09h30
  2. Gérer l'appui sur une touche avec Alt Gr
    Par Haywire dans le forum Delphi
    Réponses: 6
    Dernier message: 10/01/2007, 16h56
  3. Lien avec clic plus appui sur une touche
    Par loreleï85 dans le forum Langage
    Réponses: 4
    Dernier message: 20/06/2006, 17h32
  4. Réponses: 3
    Dernier message: 24/01/2005, 11h57
  5. Simuler l'appui sur une touche, au niveau système
    Par debutant java dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 13/08/2004, 12h51

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