[..] Fonction hotkeyset()

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
quelqun
Niveau 4
Niveau 4
Messages : 66
Enregistré le : sam. 08 janv. 2011 23:56
Status : Hors ligne

[..] Fonction hotkeyset()

#1

Message par quelqun »

salut :)
je viens de découvrir le langage autoit et je trouve déjà une difficulté avec la fonction hotkeyset()
plus précisément avec les caractères spéciaux comme @
par exemple:

Code : Tout sélectionner

hotkeyset("@","function")
ça bug :? pourtant j'ai assez chercher sur google
quelqu'un aurait-il une solution?
merci
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#2

Message par bloodwolff »

Euh je ne connais pas de clavier ou il y a une touche @ . Chez moi il faut appuyer sur ctrl+alt+2
Compte skype : bloodwolfff
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#3

Message par jbnh »

The following hotkeys cannot be set:

Ctrl+Alt+Delete It is reserved by Windows

F12 It is also reserved by Windows, according to its API.

NumPad's Enter Key Instead, use {Enter} which captures both Enter keys on the keyboard.

Win+B,D,E,F,L,M,R,U; and Win+Shift+M These are built-in Windows shortcuts. Note: Win+B and Win+L might only be reserved on Windows XP and above.

Alt, Ctrl, Shift, Win These are the modifier keys themselves!

Other Any global hotkeys a user has defined using third-party software, any combos of two or more "base keys" such as '{F1}{F2}', and any keys of the form '{LALT}' or '{ALTDOWN}'.
cfr doc
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#4

Message par ani »

bonjour et soyez le bienvenu parmis nous.

l'erreur est toute bête, vous devez pour cela indiquer l'arobase entre accolade.

HotKeySet("{@}", "function")


bonne continuation ;)
Avatar du membre
legend
Niveau 7
Niveau 7
Messages : 472
Enregistré le : dim. 26 sept. 2010 12:55
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#5

Message par legend »

J'ai une petite question sur hotkey moi aussi :P
S'est possible de désactiver un hotkeyset avec un ligne.
(je parle du truc du genre hotkeydisable.)
Merci et bonne journée.
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#6

Message par Jerome »

Coucou,


Je ne pense pas.

Pour moi, il suffit simplement de ré-attribuer la touche.




Jérôme
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#7

Message par TommyDDR »

Pour commencer, personnellement ce code fonctionne chez moi :

Code : Tout sélectionner

HotKeySet("@", "test")

While(True)
    Sleep(10)
WEnd

Func test()
    MsgBox(0, "", "")
    Exit
EndFunc
@ = AltGr + à (=> Ctrl + Alt + à)

Ensuite, pour annuler un hotkeyset, il suffit de rappeler la fonction HotKeySet en précisant la touche et de ne pas envoyer de 2nd paramètre :

HotKeySet("a", "MaFonction") => Associe la fonction "MaFonction" à la touche "a"
HotKeySet("a") => Retire l'association
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
Fish
Niveau 5
Niveau 5
Messages : 178
Enregistré le : sam. 23 oct. 2010 19:28
Localisation : Devant mon ordinateur.
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#8

Message par Fish »

Et je me demandais un truc...
J'essaye de mettre un hotkeyset sur une touche, sa marche mais quand je veut par exemple taper cette touche dans un traitement de texte, sa ne l'écrit pas. Et même si je met un Send dans la fonction appelée par la touche, sa ne marche pas...
Cordialement,
Fish-panai.
P.S (Pas Salé): Vive le poisson pané.
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#9

Message par jbnh »

Faut passer par _ispressed pour faire cela
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
Fish
Niveau 5
Niveau 5
Messages : 178
Enregistré le : sam. 23 oct. 2010 19:28
Localisation : Devant mon ordinateur.
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#10

Message par Fish »

Ah ok merci.
Mais le problème c'est que cette solution ne marche pas... :lol: En effet j'ai testé pour faire des flèches directionnelles .
Peut-être que j'ai mal procédé, je vais réessayer.
Cordialement,
Fish-panai.
P.S (Pas Salé): Vive le poisson pané.
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#11

Message par jbnh »

Dans la doc vous avez toutes les touches pour ispressed :
► Afficher le texte
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
legend
Niveau 7
Niveau 7
Messages : 472
Enregistré le : dim. 26 sept. 2010 12:55
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#12

Message par legend »

@jbnh : C'est possible de le faire avec hotkey (je peut dire comment si vous voulez)
@jerome : que veut tu dire par "ré-attribuer la touche"?
Avatar du membre
Fish
Niveau 5
Niveau 5
Messages : 178
Enregistré le : sam. 23 oct. 2010 19:28
Localisation : Devant mon ordinateur.
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#13

Message par Fish »

@legend : TommyDDR l'a déjà dit, on peut la réattribuer avec du "rien" :lol: :lol:
Voici l'exemple :

HotKeySet("a", "MaFonction") => Associe la fonction "MaFonction" à la touche "a"
HotKeySet("a") => Retire l'association
Cordialement,
Fish-panai.
P.S (Pas Salé): Vive le poisson pané.
Avatar du membre
legend
Niveau 7
Niveau 7
Messages : 472
Enregistré le : dim. 26 sept. 2010 12:55
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#14

Message par legend »

Bof, il est même possible de faire un petit If au début de la fonction avec un variable pour l'annuler . . .
Sinon la touche reste toujours inactive pour l'écriture.
Pour l'activer suffit de faire un control send dans la fonction du hotkey sur la fenêtre active . . .
bonne journée a tous
Avatar du membre
Fish
Niveau 5
Niveau 5
Messages : 178
Enregistré le : sam. 23 oct. 2010 19:28
Localisation : Devant mon ordinateur.
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#15

Message par Fish »

Ben non legend, justement sa ne marche pas avec un send ()... J'ai déjà testé. :P
Bonne journée.
Cordialement,
Fish-panai.
P.S (Pas Salé): Vive le poisson pané.
quelqun
Niveau 4
Niveau 4
Messages : 66
Enregistré le : sam. 08 janv. 2011 23:56
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#16

Message par quelqun »

avec le script ci-dessous ça marche:

Code : Tout sélectionner

HotKeySet("@", "test")

While(True)
    Sleep(10)
WEnd

Func test()
    MsgBox(0, "", "")
    Exit
EndFunc
mais je voudrais mettre un script du genre:

Code : Tout sélectionner

HotKeySet("@", "test")

While(True)
    Sleep(10)
WEnd

Func test()
    HotKeySet("@")
    send("@")
    HotKeySet("@", "test")
    Exit
EndFunc
ça bug gravement :cry:
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#17

Message par Iste »

Bon allé...

Code : Tout sélectionner

HotKeySet("m", "at")

While 1
    Sleep(1000)
WEnd

Func at()
    HotKeySet("m")
    Send("m")
    HotKeySet("m", "at")
EndFunc
Signez ici
quelqun
Niveau 4
Niveau 4
Messages : 66
Enregistré le : sam. 08 janv. 2011 23:56
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#18

Message par quelqun »

tu as essayer avec ça:

Code : Tout sélectionner

HotKeySet("@", "at")

While 1
    Sleep(1000)
WEnd

Func at()
    HotKeySet("@")
    Send("@")
    HotKeySet("@", "at")
EndFunc
 
:roll:
parce que ça bug et j'aimerais éviter cela :)
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#19

Message par Iste »

Non, car send se superpose a a votre Alt Gr...

Code : Tout sélectionner

HotKeySet("@", "at")

While 1
    Sleep(1000)
WEnd

Func at()
    Send(Chr(40))
EndFunc
 
Signez ici
quelqun
Niveau 4
Niveau 4
Messages : 66
Enregistré le : sam. 08 janv. 2011 23:56
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#20

Message par quelqun »

ça bug aussi :cry:
en executant juste:

Code : Tout sélectionner

send(chr(40))
ça envoie une parenthése: "("
Répondre