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

VB.NET Discussion :

Comment simuler l'appuie sur une touche


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2016
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2016
    Messages : 44
    Points : 19
    Points
    19
    Par défaut Comment simuler l'appuie sur une touche
    Bonjour,

    Je voudrais pouvoir simuler l'appuie sur une touche, et simuler son maintient autant de temps que je veux.
    Je suis donc à la recherche d'une commande ou une fonction qui pourrait le faire.
    Ça pourrait être par exemple : Keyboard.PressKey(Keys.Left, 1500) 1500 serait le temps que ça reste enfoncé.

    Merci de vos réponses !

  2. #2
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    bonsoir,

    hallucination complète. ....o_O vous etes encore nombreux à croire que le père-noel est inscrit dans cette communauté..???

    Personnellement je veux bien aider, mais on attends quand même un minimum d investissement de votre part !

    En définitive je te suggère de vraiment de chercher (il y a plein d exemples sur la toile), de tenter qqch et enfin de revenir avec un minima d ebauche de code....

    ++

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 64
    Points : 91
    Points
    91
    Par défaut
    Salut,

    tu peux orienter tes recherches en commençant par la MSDN :
    https://msdn.microsoft.com/fr-fr/lib...v=vs.110).aspx

  4. #4
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2016
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2016
    Messages : 44
    Points : 19
    Points
    19
    Par défaut
    Bjr à toi Romka,

    J'ai déjà consulté cette page, mais elle ne montre qu'une méthode que je connaissait déjà SendKeys.Send("A"), et ceci ne permet pas de simuler le fait que la touche reste enfoncée. De plus il y a des touches avec lesquelles ça ne marche pas, comme les flèches.

  5. #5
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 64
    Points : 91
    Points
    91
    Par défaut
    Je ne suis pas certain, mais il me semble que "maintenir une touche enfoncée" équivaut à "appuyer sur cette touche en boucle très très vite"
    En tout cas 'est ce qui se passe si on garde une touche enfoncée avec le focus sur un champ d'édition texte, par exemple.
    Le comportement semble traité différemment pour les touches de contrôles par contre (maj, alt etc.)
    Donc selon ce que tu veux faire, tu peux essayer d'appeler sendkeys dans une boucle, peut-être (avec un Thread.Sleep raisonnable, style 20 millisecondes, après l'appel à sendkeys).

  6. #6
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2016
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2016
    Messages : 44
    Points : 19
    Points
    19
    Par défaut
    J'ai déjà essayé de faire une boucle, mais ça ne marche pas vraiment. Peut-être qu'il faut importer un DLL...

  7. #7
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 64
    Points : 91
    Points
    91
    Par défaut
    C'est-à-dire ça ne marche pas ? Tu as une erreur à la compilation, ou ça compile mais ça lève une exception, ou juste rien ne se passe..?

  8. #8
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2016
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2016
    Messages : 44
    Points : 19
    Points
    19
    Par défaut
    Il n'y a pas d'erreur, c'est juste que ça ne fait pas comme si je maintenait la touche : dans le je caché de Google Chrome, quand j'appuie longtemps sur la barre espace, le dinosaure saute plus haut, mais quand j'ai mit SendKeys.SendWait(" ") dans une boucle, ça ne sautait pas plus haut, mais plusieurs fois. En espérant m’être bien exprimé.

    Nom : Capture.PNG
Affichages : 665
Taille : 19,3 Ko

  9. #9
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 64
    Points : 91
    Points
    91
    Par défaut


    T'es en train de me dire que je me creuse la cervelle pour que tu améliores ton score au "jeu caché de google" ?



    Trêve de plaisanterie

    Essaie de réfléchir 2 sec. Si le dinosaure a ce comportement, c'est qu'il ne réagit pas au maintien de la touche enfoncée, mais plutôt qu'il enregistre quand tu appuies et que son saut est calculé à partie du laps de temps entre l'appui et le relâchement de la touche. Donc simuler une touche appuyée ne sert à rien.
    Avec SendKeys ou d'autres méthodes, cherche plutôt comment envoyer au navigateur un keydown, puis un laps de temps plus tard, un keyup.

    Allez, bon courage..!


  10. #10
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2016
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2016
    Messages : 44
    Points : 19
    Points
    19
    Par défaut
    En réalité ça me servirait à bien d'autres chose, et pas seulement à tricher à un mini jeu quand j'ai pas internet.

    "Cherche plutôt comment envoyer au navigateur un keydown, puis un laps de temps plus tard, un keyup"
    Ok, j'ai trouvé comment faire en C++, mais quand je regarde comment faire en VB.NET on me dit de faire le SendKeys.


    CODE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include <windows.h>
     int main(int argc, char * argv[])
    {
         HWND hMPlayer = FindWindow("Media Player 2",NULL);
         SetForegroundWindow(hMPlayer);
         Sleep(100);
         PostMessage(hMPlayer,WM_KEYDOWN,VK_SPACE,0);
         Sleep(5000);
         PostMessage(hMPlayer,WM_KEYUP,VK_SPACE,0);
         return 0;
    }

  11. #11
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 64
    Points : 91
    Points
    91
    Par défaut
    Je pense que tu as toutes les infos dont tu as besoin, maintenant tu peux trouver tout seul ^^
    Si sendkeys ne te permet pas te faire ça, alors regarde du côté des libs windows, à "référencer" dans ton code avec le mot-clé extern (de mémoire, dans user32.dll tu dois avoir ce qu'il faut).
    Allez, cherche un peu, au moins ça aura le mérite de t'apprendre des trucs, sinon y a pas d'intérêt.

Discussions similaires

  1. comment simuler l'appui sur une touche de clavier
    Par chekkal dans le forum Débuter
    Réponses: 2
    Dernier message: 21/10/2013, 14h18
  2. Réponses: 7
    Dernier message: 08/07/2009, 18h22
  3. Simuler l'appui sur une touche sans évènement
    Par pc.bertineau dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/02/2008, 16h40
  4. Réponses: 3
    Dernier message: 19/02/2007, 09h30
  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