Vérifie si une touche a été pressée
#include <Misc.au3>
_IsPressed ( $sHexKey [, $vDLL = "user32.dll"] )
$sHexKey | Touche à tester |
$vDLL | [optionnel] Handle de la DLL ou par défaut de user32.dll |
True: | si la touche a été pressée. |
False: | si la touche n'a pas été pressée. |
Si vous appelez plusieurs fois cette fonction, vous devez ouvrir 'user32.dll' et passer le handle.
Assurez-vous de fermer le handle à la fin du script à l'aide de DllClose.
_IsPressed() retournera 1 jusqu'à ce que la touche soit relâchée.
Même de brefs appuies de touches peuvent entraîner de multiples retours dans une boucle.
Si le code appelé ne comprend pas une fonction de blocage (comme MsgBox) et si l'utilisateur n'a pas besoin de multiples retours, le script doit attendre jusqu'à ce que _IsPressed() retourne 0 avant de poursuivre.
01 Bouton gauche de la souris
02 Bouton droit de la souris
03 Control-break
04 Bouton central de la souris (souris à trois boutons)
05 Bouton de la souris X1
06 Bouton de la souris X2
08 Touche BACKSPACE
09 Touche TAB
0C Touche CLEAR
0D Touche ENTER
10 Touche SHIFT
11 Touche CTRL
12 Touche ALT
13 Touche PAUSE
14 Touche VERR.MAJ
1B Touche ESC 1B
20 Barre ESPACE
21 Touche PAGE UP
22 Touche PAGE DOWN
23 Touche END
24 touche HOME
25 Touche flèche GAUCHE
26 Touche flèche HAUT
27 Touche flèche DROITE
28 Touche flèche BAS
29 Touche SELECT
2A Touche PRINT
2B Touche EXECUTE
2C Touche Impr. écran
2D Touche INS
2E Touche DEL
30 Touche 0
31 Touche 1
32 Touche 2
33 Touche 3
34 Touche 4
35 Touche 5
36 Touche 6
37 Touche 7
38 Touche 8
39 Touche 9
41 Touche A
42 Touche B
43 Touche C
44 Touche D
45 Touche E
46 Touche F
47 Touche G
48 Touche H
49 Touche I
4A Touche J
4B Touche K
4C Touche L
4D Touche M
4E Touche N
4F Touche O
50 Touche P
51 Touche Q
52 Touche R
53 Touche S
54 Touche T
55 Touche U
56 Touche V
57 Touche W
58 Touche X
59 Touche Y
5A Touche Z
5B Touche Windows gauche
5C Touche Windows droite
60 Touche 0 du pavé numérique
61 Touche 1 du pavé numérique
62 Touche 2 du pavé numérique
63 Touche 3 du pavé numérique
64 Touche 4 du pavé numérique
65 Touche 5 du pavé numérique
66 Touche 6 du pavé numérique
67 Touche 7 du pavé numérique
68 Touche 8 du pavé numérique
69 Touche 9 du pavé numérique
6A Touche de multiplication *
6B Touche d'addition +
6C Touche Separator
6D Touche de soustraction
6E Touche point décimal
6F Touche de division /
70 Touche F1
71 Touche F2
72 Touche F3
73 Touche F4
74 Touche F5
75 Touche F6
76 Touche F7
77 Touche F8
78 Touche F9
79 Touche F10
7A Touche F11
7B Touche F12
7C - 7F Touche F13 - Touche F16
80H - 87H Touche F17 - Touche F24
90 Touche NUM LOCK
91 Touche SCROLL LOCK
A0 Touche MAJ gauche
A1 Touche Maj droite
A2 Touche CONTROL gauche
A3 Touche CONTROL droite
A4 Touche MENU gauche
A5 Touche MENU droite
BA Touche ;
BB Touche =
BC Touche ,
BD Touche -
BE Touche .
BF Touche /
C0 Touche `
DB Touche [
DC Touche \\
DD Touche ]
#include <Misc.au3> #include <MsgBoxConstants.au3> Local $hDLL = DllOpen("user32.dll") Do If _IsPressed("10", $hDLL) Then ConsoleWrite("_IsPressed - Touche Shift enfoncé." & @CRLF) ; Attend jusqu'à ce que la touche soit relâchée. While _IsPressed("10", $hDLL) Sleep(250) WEnd ConsoleWrite("_IsPressed - Touche Shift relâchée." & @CRLF) EndIf Sleep(250) Until _IsPressed("1B", $hDLL) MsgBox($MB_SYSTEMMODAL, "_IsPressed", "Touche Esc enfoncée, l'application va se fermer.") DllClose($hDLL)