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 :

[D7] Simuler l'appui sur la touche VERR MAJ ??


Sujet :

Delphi

  1. #1
    Membre du Club Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Points : 54
    Points
    54
    Par défaut [D7] Simuler l'appui sur la touche VERR MAJ ??
    Hello,

    J'ai besoin de simuler l'activation de la touche VERR MAJ au lancement d'une appli.

    Est-ce faisable ??
    Postes Dév : W7 SP1 / Windev 21 / Delphi 7 Entreprise
    Serveur : W2k12 SP1 + SQL 2014 RC2
    Connexion : OLE.DB

  2. #2
    Membre du Club Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Points : 54
    Points
    54
    Par défaut
    flute, ça suffit pas, j'ai aussi besoin de savoir comment connaitre l'état du CAPS LOCK on/off !
    Postes Dév : W7 SP1 / Windev 21 / Delphi 7 Entreprise
    Serveur : W2k12 SP1 + SQL 2014 RC2
    Connexion : OLE.DB

  3. #3
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 664
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 664
    Points : 6 967
    Points
    6 967
    Par défaut
    Regarde du côté de GetKeyboardState.

    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. ___ Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.3.2 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.1 Entreprise
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.4)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 158
    Points : 103
    Points
    103
    Par défaut
    salut, voila le code source qui te permettra de faire ce que tu désire, il permet de simuler l'appuis sur la touche caps lock, tu insère ce code à la création de la form (onCreate pour rappel) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      keybd_event(VK_CAPITAL,0,0,0);
      keybd_event(VK_CAPITAL,0, KEYEVENTF_KEYUP,0,0);
    Voila, tiends nous au courrant.

  5. #5
    Membre du Club Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par Lung
    Regarde du côté de GetKeyboardState.

    Merci.

    Et ça marche encore mieux avec GetKeyState :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      // Si le clavier n'est pas en majuscules, on le force
      if getkeystate(VK_CAPITAL)=0 then
      begin
        keybd_event(VK_CAPITAL,0,1,0); //touche enfoncée
        keybd_event(VK_CAPITAL,0,2,0); //touche relevée
      end;
    Postes Dév : W7 SP1 / Windev 21 / Delphi 7 Entreprise
    Serveur : W2k12 SP1 + SQL 2014 RC2
    Connexion : OLE.DB

  6. #6
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Utiliser des nombres (1 et 2) au lieu des constantes prédéfinies c'est se heurter à un problème un jour ou l'autre
    Rien n'empêche les programmeurs de Microsoft de changer la valeur de la constante. Ceux qui auront utilisé les constanets prédéfinies n'auront qu'à recompiler, toi tu devras chercher dans ton code pourquoi ça ne fonctionne plus.

    @++
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  7. #7
    Membre du Club Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par Eric Sigoillot
    Utiliser des nombres (1 et 2) au lieu des constantes prédéfinies c'est se heurter à un problème un jour ou l'autre
    Rien n'empêche les programmeurs de Microsoft de changer la valeur de la constante. Ceux qui auront utilisé les constanets prédéfinies n'auront qu'à recompiler, toi tu devras chercher dans ton code pourquoi ça ne fonctionne plus.

    @++
    euh, j'ai recopié le code du keyb_event tel quel, je ne sais même pas à quoi correspondent les valeurs...
    Postes Dév : W7 SP1 / Windev 21 / Delphi 7 Entreprise
    Serveur : W2k12 SP1 + SQL 2014 RC2
    Connexion : OLE.DB

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 158
    Points : 103
    Points
    103
    Par défaut
    pas bien ... lol

    ne pas comprendre du code que l'on met dans son application apporte également des erreur, de plus, pour les constantes de l'API, tout a fait d'accord avec Eric Sigoillot.

  9. #9
    Membre du Club Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par heider
    pas bien ... lol
    OK OK, pas taper

    Bon, j'ai remplacé par un joli WM_KEYDOWN, et j'ai viré la deuxième ligne qui après tests ne servait à rien.

    Per contre, après cette activation automatique, si je veux désactiver le CAPS LOCK via le clavier, il faut que j'appuie deux fois sur la touche au lieu d'une seule Bon, c'est pas trop grave, mais ça m'étonne un peu...
    Postes Dév : W7 SP1 / Windev 21 / Delphi 7 Entreprise
    Serveur : W2k12 SP1 + SQL 2014 RC2
    Connexion : OLE.DB

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

Discussions similaires

  1. 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
  2. VBS - simuler l'appui sur la touche fléche droite
    Par koKoTis dans le forum Windows
    Réponses: 1
    Dernier message: 14/01/2008, 21h09
  3. Réponses: 3
    Dernier message: 19/02/2007, 09h30
  4. Réponses: 2
    Dernier message: 02/01/2007, 12h47
  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