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 6 et antérieur Discussion :

Sendkeys Ctrl Shift Alt


Sujet :

VB 6 et antérieur

  1. #1
    Membre confirmé Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Par défaut Sendkeys Ctrl Shift Alt
    J'ai ce ci pour informer :
    Key Code
    SHIFT +
    CTRL ^
    ALT %

    Pour faire "Ctrl + +" ; Je fais ce ci :
    Mais comment je fais pour "Ctrl + -" ?

    J'ai essayer tous les codes suivants : mais ça ne donne rien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SendKeys "^{-}"
    SendKeys "^-"
    SendKeys "^(-)"
    Quelqu'un pourrait peut-être m'aider SVP?Merci

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    en théorie ce serai : mais cela ne fonctionne pas...

  3. #3
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 140
    Par défaut
    Pas sûr, car non verifié sur un prog externe réagissant a ces 2 touches
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Explicit
    Private Sub Form_Load()
    Me.KeyPreview = True
    Me.Visible = True: DoEvents:Me.Refresh
    SendKeys "^{-}"
    End Sub
     
    Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
    If Shift = 2 And KeyCode = 54 Then
     Me.Caption = Shift & "      " & KeyCode
    End If
    End Sub
    le SendKeys "^{-}" est bien detecté dans la condition If de la Sub Form_KeyUp.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Pas sûr, car non verifié sur un prog externe réagissant a ces 2 touches

    Et la vraie question est probablement ce point précis.
    Sendkeys ne marche pas toujours bien avec les applications tournant avec Windows.
    Il est carrément à éviter avec les autres applications.

    Note You can't use SendKeys to send keystrokes to an application that is not designed to run in Microsoft Windows.
    Edit :

    Just in case : oublier totalement SendKeys avec Directx

    On peut utiliser l'Api de Windows (la fonctions SendInput, par exemple) pour certaines applications DirectX, mais pas toutes (certains jeux ne l'acceptent pas non plus)

  5. #5
    Membre confirmé Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Par défaut
    Citation Envoyé par bbil Voir le message
    en théorie ce serai : mais cela ne fonctionne pas...
    9a sera plutôt :
    non ? mais bon ça ne marche pas . . .

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Dans le code démo de Progelect,

    aura le même effet et le même résultat que :

    ou que
    et pour cause ... (il n'y a qu'à essayer ...)

    Lis par contre mon message précédent concernant la simulation de touches à destination d'autres applications...

  7. #7
    Membre confirmé Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Pas sûr, car non verifié sur un prog externe réagissant a ces 2 touches
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Explicit
    Private Sub Form_Load()
    Me.KeyPreview = True
    Me.Visible = True: DoEvents:Me.Refresh
    SendKeys "^{-}"
    End Sub
     
    Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
    If Shift = 2 And KeyCode = 54 Then
     Me.Caption = Shift & "      " & KeyCode
    End If
    End Sub
    le SendKeys "^{-}" est bien detecté dans la condition If de la Sub Form_KeyUp.
    bien sur ça capte


    Citation Envoyé par ucfoutu Voir le message
    Et la vraie question est probablement ce point précis.
    Sendkeys ne marche pas toujours bien avec les applications tournant avec Windows.
    Il est carrément à éviter avec les autres applications.



    Edit :

    Just in case : oublier totalement SendKeys avec Directx

    On peut utiliser l'Api de Windows (la fonctions SendInput, par exemple) pour certaines applications DirectX, mais pas toutes (certains jeux ne l'acceptent pas non plus)
    C'est pour mozilla

    Ctrl + + à pour fonction d'agrandir la taille du texte
    Ctrl + - à pour fonction d'appetir ( je sais pas le verbe de faire plus petit) la taille du text
    Ctrl + 0 à pour fonction de remettre la taille du texte normale

    Celui-ci marche , agrandi bien le texte

    Celui-ci marche, remet bien le texte a la taille normale


    P.S : Manuellement Ctrl + - ça marche

  8. #8
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    Citation Envoyé par imparator_42 Voir le message
    P.S : Manuellement Ctrl + - ça marche
    chez moi, ça ne marche qu'avec le - du pavé numérique (code touche =109) et pas avec le - de la touche -/6

  9. #9
    Membre confirmé Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Par défaut
    Citation Envoyé par ThierryAIM Voir le message
    chez moi, ça ne marche qu'avec le - du pavé numérique (code touche =109) et pas avec le - de la touche -/6
    Je confirme , ça marche avec le pavé numérique . . .
    Alors la question est comment intégré ça ?

    On ne pourrait pas faire avec ascii ?
    - a pour code ascii : 45

  10. #10
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    utilise l'API KeybEvents...


    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
    17
    18
    19
    20
    21
     
    Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As _
        Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
    Private Declare Function SetKeyboardState Lib "user32" (lppbKeyState As Byte) _
        As Long
    Private Const KEYEVENTF_EXTENDEDKEY = &H1
    Private Const KEYEVENTF_KEYUP = &H2
     
     
    Sub EnVoiCrtLMoins()
      'Actionne touche Controle
      keybd_event vbKeyControl, 0, KEYEVENTF_EXTENDEDKEY, 0
      'Actionne touche - du pavé numérique
      keybd_event 109, 0, 0, 0
     
      'Relache  touche - du pavé numérique
      keybd_event 109, 0, KEYEVENTF_KEYUP, 0
     
      'Relache la touche controle
        keybd_event vbKeyControl, 0, KEYEVENTF_KEYUP, 0
    End Sub

  11. #11
    Membre confirmé Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Par défaut
    Merci beaucoup ça marche Bbil
    mais si jamais je ferme le programme n'importe quand ça pourrait faire quelques beug ...
    Mais sinon ça marche

  12. #12
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par imparator_42 Voir le message
    Merci beaucoup ça marche Bbil
    mais si jamais je ferme le programme n'importe quand ça pourrait faire quelques beug ...
    Mais sinon ça marche
    pourquoi ?

  13. #13
    Membre confirmé Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Par défaut
    Si jamais je ferme l'appli quand Ctrl est enfoncé , ben il reste enfoncé
    il ne relache pas le buton

  14. #14
    Membre confirmé Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Par défaut
    Je me suis trompé il ne relâche pas la touche Ctrl
    Ctrl est toujours enfoncée

    Il faut que j'aille dans clavier visuel et que je clique sur la touche Ctrl
    (même avec le clavier il ne relâche pas )

  15. #15
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par imparator_42 Voir le message
    Je me suis trompé il ne relâche pas la touche Ctrl
    Ctrl est toujours enfoncée

    Il faut que j'aille dans clavier visuel et que je clique sur la touche Ctrl
    (même avec le clavier il ne relâche pas )
    oui mais ... bon .. suffit de faire suivre chaque action sur Ctlr par un relâche..comme le code que je t'ai mis en exemple...



    si chez moi il relâche .. lors d'un nouveau appui sur CTRL..

  16. #16
    Membre confirmé Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Par défaut
    SI jamais on met un timer il refait à chaque fois la même chose.
    Mais si jamais on le fait qu'une fois , chez moi la touche ctrl est maintenue
    et je ne sais pas pourquoi, parce que moi j'ai copier votre code et y a bien le relâchement de la touche Ctrl. ..

  17. #17
    Membre confirmé Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Par défaut
    je ne sais pas ce que ça vaut cette constante : Private Const KEYEVENTF_EXTENDEDKEY = &H1
    mais si j(utilise ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    keybd_event vbKeyControl, 0, 0, 0
      'Actionne touche - du pavé numérique
      keybd_event 109, 0, 0, 0
      'Relache  touche - du pavé numérique
      keybd_event 109, 0, KEYEVENTF_KEYUP, 0
      'Relache la touche controle
        keybd_event vbKeyControl, 0, KEYEVENTF_KEYUP, 0
    ça marche et il n'y a pas de blocage

  18. #18
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par imparator_42 Voir le message
    je ne sais pas ce que ça vaut cette constante : Private Const KEYEVENTF_EXTENDEDKEY = &H1
    ...
    oui une petite erreur dans mon code ... si tu utilise cette constante pour "appuyer" sur la touche il faut aussi l'utiliser pour lâcher la touche...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    keybd_event vbKeyControl, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0
    désolé..

  19. #19
    Membre confirmé Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Par défaut
    ah oki, ça explique pourquoi j'avais la touche ctrl enfoncée
    merci Bbil, l'autre aussi marche

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/08/2012, 11h57
  2. SDL raccourci clavier de type CTRL + SHIFT + )
    Par trinita16 dans le forum SDL
    Réponses: 7
    Dernier message: 28/04/2010, 22h04
  3. ctrl+shift+g sous Eclipse Europa recherche aussi dans les JSPs
    Par mars29200 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 08/05/2008, 14h03
  4. Réponses: 9
    Dernier message: 28/09/2007, 08h54
  5. [JMenuItem] ctrl+shift keystroke
    Par Sp4ce dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 27/09/2007, 23h39

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