UDF > Misc >


_IsPressed

V�rifie si une touche a �t� press�e

#include <Misc.au3>
_IsPressed ( $sHexKey [, $vDLL = "user32.dll"] )

Param�tres

$sHexKey Touche � tester
$vDLL [optionnel] Handle de la DLL ou par d�faut de user32.dll

Valeur de retour

True: si la touche a �t� press�e.
False: si la touche n'a pas �t� press�e.

Remarques

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 ]

Exemple

#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)