Bonjour,
J'aimerais fais un script qui permet savoir sur quelle touche l'utilisateur a appuie pour ensuite afficher un msgbox.
Cordialement
Romain
[..] Enregister touche clavier
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- zeshrek
- Niveau 10

- Messages : 984
- Enregistré le : mer. 17 nov. 2010 09:31
- Localisation : Sur ma chaise
- Status : Hors ligne
Re: [..] Enregister touche clavier
hummmm.... sujet tendencieux (risque de keyloger)
Je me contenterai donc dans mon exemple de ne donner que le strict minimum pour illustrer le principe, cad de ne scanner que les 26 lettres de l'alphabet, sans distinguer minuscule et majuscules, ni les autres caracteres (chiffres, ponctuation... etc)
Si c'est trop 'border line' les modo ont toute lattitude pour censurer, je n'en serais pas offensé
Je me contenterai donc dans mon exemple de ne donner que le strict minimum pour illustrer le principe, cad de ne scanner que les 26 lettres de l'alphabet, sans distinguer minuscule et majuscules, ni les autres caracteres (chiffres, ponctuation... etc)
Si c'est trop 'border line' les modo ont toute lattitude pour censurer, je n'en serais pas offensé
Code : Tout sélectionner
#cs
ecoute le clavier et renvoie la lettre préssée.
ne détecte que les 26 letttres de l'alphabet (ni les chiffres, ni le pavé, ni les accentué, ni la ponctuation, ni les signes $£*ù...etc
Pour sortir appuyer sur la touche [ESC]
#ce
HotKeySet("{ESC}", "Fin")
While 1
For $i = 65 To 90
If _EcouteTouches($i) Then
MsgBox(0, "Touche pressée", "Vous avez appuyé la touche [ " & Chr($i) & " ]")
EndIf
Next
WEnd
Func _EcouteTouches($touche)
Local $ScanClavier, $EtatScan
$ScanClavier = DllCall("user32", "int", "GetAsyncKeyState", "int", $touche)
If $ScanClavier[0] <> 0 Then
$EtatScan = True
Else
$EtatScan = False
EndIf
Return $EtatScan
EndFunc
Func Fin()
Exit 0
EndFunc
Si vis pacem para bellum
Re: [..] Enregister touche clavier
Je pense que faire un hotkey pour chaque touche serait moins compliqué.
ps : un hotkey sur "a" desactive la touche "a", donc il ne fais pas de keylogger.
la fonction _ispressed aussi peut faire cela, mais il faudrais que tu te débrouille pour les boucles
bonne journée
ps : un hotkey sur "a" desactive la touche "a", donc il ne fais pas de keylogger.
la fonction _ispressed aussi peut faire cela, mais il faudrais que tu te débrouille pour les boucles
bonne journée
- bloodwolff
- Membre émérite

- Messages : 655
- Enregistré le : ven. 18 avr. 2008 22:36
- Localisation : Québec
- Status : Hors ligne
Re: [..] Enregister touche clavier
moins compliqué ? sa dépend pour qui et avec 26 hotkeyset le code ne sera pas très propre ... je préfère de loin la méthode proposé
Compte skype : bloodwolfff
- zeshrek
- Niveau 10

- Messages : 984
- Enregistré le : mer. 17 nov. 2010 09:31
- Localisation : Sur ma chaise
- Status : Hors ligne
Re: [..] Enregister touche clavier
j'ai pensé aux hotkey aussi mais... certains sont réservés par windows :
Apres, ca dépend de ce qu'il veut faire au final...Aide AutoIt a écrit :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}'
Si vis pacem para bellum
Re: [..] Enregister touche clavier
Bof, j'ai deja fait un keylogger juste pour le tester sur mon pc en utilisant hotkey.
sa fonctionnait presque parfaitement, sauf qu'il fallait ajouter du code pour régler le bug d'appui trés rapide sur les touches, ou plusieurs touches en même temp.
mais bon, plusieurs hotkeys dans un seul script ne bug pas.
et pour les touches réservées pour windows, j'ai le moyen de les faire marcher avec hotkey
par exemple ,Ctrl+Alt+Delete, tu fais un petit hotkey pour Ctrl.
tu introduit un petit _ispressed a la fonction du hotkey Ctrl.
Pour moin compliqué je parlais pas de la longueur du code, mais de son niveau (plus facile a apprendre.)
bonne journée a vous.
sa fonctionnait presque parfaitement, sauf qu'il fallait ajouter du code pour régler le bug d'appui trés rapide sur les touches, ou plusieurs touches en même temp.
mais bon, plusieurs hotkeys dans un seul script ne bug pas.
et pour les touches réservées pour windows, j'ai le moyen de les faire marcher avec hotkey
par exemple ,Ctrl+Alt+Delete, tu fais un petit hotkey pour Ctrl.
tu introduit un petit _ispressed a la fonction du hotkey Ctrl.
Pour moin compliqué je parlais pas de la longueur du code, mais de son niveau (plus facile a apprendre.)
bonne journée a vous.
- sylvanie
- Niveau 11

- Messages : 1556
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
Re: [..] Enregister touche clavier
Moi, personnellement je vois un keylogger en puissance. point barre
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.


