Page 1 sur 1
[..] HotKeySet accumuler des touches...
Posté : mer. 20 août 2008 01:30
par Yoyo86220
Bonsoir,
je voudrai que "HotKeySet" réagisse au frappe suivante
Ctrl+Alt (enfoncé pendant tte la procédure) puis 1.. 2.. 3...
le mm principe pour écrire les lettres comme ceci ø = Alt+1..5..5
Dans AutoIt:
je sais que Ctrl = ^ et que Alt = ! mais je n'arrive pas à faire les combinaisons de touche (expliqué précédemment)
Re: [..] HotKeySet accumuler des touches...
Posté : mer. 20 août 2008 09:41
par jbnh
Est ce vraiment nécessaire cette notion de touche maintenue enfoncée? A partir du moment qu'elle est enfoncée c'est bon non? Ou alors il faut vraiment qu'elles restent enfoncées pour ne pas déclencher une autre commande?
sinon tu fais un hotkeyset ctrl alt qui renvoi vers une fonction avec des ispressed()
Re: [..] HotKeySet accumuler des touches...
Posté : mer. 20 août 2008 13:02
par Yoyo86220
Donc il faudrai que Ctrl+Alt reste enfoncé parce que en faite puisque que je n'est pas de Gui et quand j'utilise mes touche racourci bah si je ne reste pas apuyé sur ctrl+alt sa va écrir dans le programme ou je suis...
Re: [..] HotKeySet accumuler des touches...
Posté : mer. 20 août 2008 21:28
par timmalos
Utilise l'idée de JBNH, qui donne à peu pres, (pas testé)
Code : Tout sélectionner
#include <Misc.au3>
HotKeySet("^!","ctrlalt")
While 1
Sleep(100)
WEnd
Func ctrlalt ()
IF _ISpressed("31") then ... ; 01 du pavé numerique
IF _ISpressed("32") then ... ; 02 du pavé numerique
IF _ISpressed("33") then ... ; 03 du pavé numerique
EndFunc
Re: [..] HotKeySet accumuler des touches...
Posté : lun. 25 août 2008 09:08
par SagePourpre
timmalos a écrit :Utilise l'idée de JBNH, qui donne à peu pres, (pas testé)
Code : Tout sélectionner
#include <Misc.au3>
HotKeySet("^!","ctrlalt")
While 1
Sleep(100)
WEnd
Func ctrlalt ()
IF _ISpressed("31") then ... ; 01 du pavé numerique
IF _ISpressed("32") then ... ; 02 du pavé numerique
IF _ISpressed("33") then ... ; 03 du pavé numerique
EndFunc
hmmm... Chez moi ça ne marchait pas. (J'ai bien sur complété les if then avant de la tester.
Pour y parvenir, j'ai utilisé à la place d'une fonction des boucles
Code : Tout sélectionner
#include<misc.au3>
$dll = DllOpen("user32.dll")
While 1
Sleep(100)
While _IsPressed("11", $dll)
While _IsPressed("12", $dll)
Select
Case _IsPressed("30", $dll)
MsgBox(0, "", "Vous avez appuyez sur CTRL + ALT + 0")
Case _IsPressed("31", $dll)
MsgBox(0, "", "Vous avez appuyez sur CTRL + ALT + 1")
Case _IsPressed("32", $dll)
MsgBox(0, "", "Vous avez appuyez sur CTRL + ALT + 2")
Case _IsPressed("33", $dll)
MsgBox(0, "", "Vous avez appuyez sur CTRL + ALT + 3")
Case _IsPressed("34", $dll)
MsgBox(0, "", "Vous avez appuyez sur CTRL + ALT + 4")
Case _IsPressed("35", $dll)
MsgBox(0, "", "Vous avez appuyez sur CTRL + ALT + 5")
Case _IsPressed("36", $dll)
MsgBox(0, "", "Vous avez appuyez sur CTRL + ALT + 6")
Case _IsPressed("37", $dll)
MsgBox(0, "", "Vous avez appuyez sur CTRL + ALT + 7")
Case _IsPressed("38", $dll)
MsgBox(0, "", "Vous avez appuyez sur CTRL + ALT + 8")
Case _IsPressed("39", $dll)
MsgBox(0, "", "Vous avez appuyez sur CTRL + ALT + 9")
EndSelect
WEnd
WEnd
WEnd
Et ça fonctionnait très bien. Le seul hic, peut-être, est que CTRL + ALT + chiffre renvoie un symbole s'il y'a un champ texte actif. Mais sinon, ça va.
Re: [..] HotKeySet accumuler des touches...
Posté : lun. 25 août 2008 10:43
par SagePourpre
Tant qu'à faire... Voilà le même code, une boucle en moins
Code : Tout sélectionner
#include<misc.au3>
$dll = DllOpen("user32.dll")
While 1
Sleep(100)
While _IsPressed("11", $dll) And _IsPressed("12", $dll)
Select
Case _IsPressed("30", $dll)
MsgBox(0, "", "Vous avez appuyez sur CTRL + ALT + 0")
Case _IsPressed("31", $dll)
MsgBox(0, "", "Vous avez appuyez sur CTRL + ALT + 1")
Case _IsPressed("32", $dll)
MsgBox(0, "", "Vous avez appuyez sur CTRL + ALT + 2")
Case _IsPressed("33", $dll)
MsgBox(0, "", "Vous avez appuyez sur CTRL + ALT + 3")
Case _IsPressed("34", $dll)
MsgBox(0, "", "Vous avez appuyez sur CTRL + ALT + 4")
Case _IsPressed("35", $dll)
MsgBox(0, "", "Vous avez appuyez sur CTRL + ALT + 5")
Case _IsPressed("36", $dll)
MsgBox(0, "", "Vous avez appuyez sur CTRL + ALT + 6")
Case _IsPressed("37", $dll)
MsgBox(0, "", "Vous avez appuyez sur CTRL + ALT + 7")
Case _IsPressed("38", $dll)
MsgBox(0, "", "Vous avez appuyez sur CTRL + ALT + 8")
Case _IsPressed("39", $dll)
MsgBox(0, "", "Vous avez appuyez sur CTRL + ALT + 9")
EndSelect
WEnd
WEnd