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

Langages Discussion :

AHK [Auto Hot Key] Protection de caractère spéciaux en V2.0.11


Sujet :

Langages

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2008
    Messages : 12
    Par défaut AHK [Auto Hot Key] Protection de caractère spéciaux en V2.0.11
    Bonjour,

    J'utilise AHK pour envoyer aux machines des suites de commande ou des mots de passe. Je génère mon environnement de travail Linux via AHK. Les formules de politesse aussi dans les courriels.

    Mon problème et que je n'arrive pas à passer de caractère spécial à mon terminal dans la version 2 AHK.

    La syntaxe que j'utilise et qui ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <^>!y::Send("!A+1 {Enter}")
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ^!y::Send("!A+1 {Enter}")
    Ce code doit quand je tape la suite de touche "ALT GR + y" écrite sur le terminal " !A+1" puis passer la ligne suivante "{Enter}"

    Le code affiché sur le terminal est "A1", j'en déduis qu'il interprète mal les caractères "!" et "+" . Le "enter" et bien interprété.

    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <^>!y::Send("%!A%+1 {Enter}")
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <^>!y::Send("£!A£+1 {Enter}")
    Mais le résultat n'est pas concluant. :-(

    Je n'ai pas rencontré pas ce problème en AHK 1.1, je veux dire que sous cette version, j'avais le caractère de protection "£" ou "`" je ne sais plus.


    En vous remerciant par avance.

    Pilou

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 574
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 574
    Par défaut
    1ère ligne de la documentation de AutoHotKey v2 (https://www.autohotkey.com/docs/v2/howto/SendKeys.htm)
    Send "Hello, world{!}{Left}^+{Left}"
    J'en déduis qu'il faut mettre le caractère "spéciaux" entre accolades {!} {+}

    et cette page le confirme https://www.autohotkey.com/docs/v2/lib/Send.htm

    Edit: alternative utiliser SendText au lieu de Send

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2008
    Messages : 12
    Par défaut
    Citation Envoyé par umfred Voir le message
    1ère ligne de la documentation de AutoHotKey v2 (https://www.autohotkey.com/docs/v2/howto/SendKeys.htm)


    J'en déduis qu'il faut mettre le caractère "spéciaux" entre accolades {!} {+}

    et cette page le confirme https://www.autohotkey.com/docs/v2/lib/Send.htm

    Edit: alternative utiliser SendText au lieu de Send

    Merci umfred pour ton aide rapide.
    "1ᵉʳ ligne de la documentation." Bien avec ça, je ne passe pas pour le roi des c.. !! R.T.F.M... ;-)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <^>!y::SendText("!A+1"), Send("{Enter}")
    Fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ^!y::Send("{Raw}!A+1"), Send("{Enter}")
    Fonctionne aussi

    Y a-t-il moyen d'optimiser la commande, je suis preneur… 2 "Send" à la suite, ce n'est pas très propre.
    Mais l''important, c'est que ça marche


    ChatGPT 3.5 me dit de mettre un ";" entre 2 commandes sur la même ligne, mais dans AHK V2 c'est le caractère de fin de commande.
    Comme quoi, l'IA gratuite a des progrès à faire…

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 574
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 574
    Par défaut
    Je crois que la réponse va encore être RTFM (celle de SendText ou plus préciséement le Text Mode)

    `n, `r and `r`n are all translated to a single Enter, unlike the default behavior and Raw mode, which translate `r`n to two Enter. `t is translated to Tab and `b to Backspace, but all other characters are sent without translation.
    Et pourquoi tu n'as pas appliqué le principe de la 1ère ligne ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ^!y::Send("{!}A{+}1+{Enter}")

Discussions similaires

  1. [Lazarus] Comment intercepter les "hot keys"
    Par BeanzMaster dans le forum Lazarus
    Réponses: 4
    Dernier message: 14/09/2015, 20h24
  2. Global Hot Key avec python 3.xx..
    Par gaut5 dans le forum Général Python
    Réponses: 6
    Dernier message: 21/08/2014, 21h45
  3. Edition de ".conf" par "hot key"
    Par Magrak dans le forum Windows XP
    Réponses: 2
    Dernier message: 18/12/2009, 19h19
  4. auto-incrémentation sur une primary key avec sql server
    Par pops4 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 24/05/2007, 14h24
  5. [VBA EXCEL] Protection feuille avec filtre auto
    Par mirumoto dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/01/2006, 10h48

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