Funktionreferenz


_IsPressed

Beschreibung anzeigen in

Prüft, ob eine Taste gedrückt wurde

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

Parameter

$sHexKey zu prüfende Taste
$vDLL [optional] Handle zu der DLL (standardmäßig user32.dll)

Rückgabewert

True: wenn die Taste gedrückt wurde
False: wenn die Taste nicht gedrückt wurde

Bemerkungen

Falls diese Funktion wiederholt aufgerufen wird, sollte die Datei 'user32.dll' geöffnet werden und durch ein Handle übergeben werden.
Es ist noch zu beachten, dass das Handle am Ende des Skripts mithilfe der Funktion DllClose geschlossen wird.

_IsPressed() gibt 1 zurück wenn die Taste losgelassen wurde.
Selbst kurze Tastendrücke können mehrfach innerhalb einer Schleife zurückgegeben werden.
Wenn der verwendete Code keine blockierende Funktion wie z. B. MsgBox enthält und der User keine mehrfachen Returns benötigt, so sollte das Skript warten bis _IsPressed() 0 zurückgibt bevor dieses fortfährt.

Befehl englischer Name deutscher Name
01 Left mouse button Linke Maustaste
02 Right mouse button Rechte Maustaste
03 Control-break processing
04 Middle mouse button (three-button mouse) Mittlere Maustaste
05 Windows 2000/XP: X1 mouse button X1 Maus-Taste
06 Windows 2000/XP: X2 mouse button X2 Maus-Taste
08 BACKSPACE key Löschtaste rückwärts
09 TAB key Tabulator-Taste
0C CLEAR key Entf-Taste
0D ENTER key Enter/Return-Taste
10 SHIFT key Shift/Umschalt/"Großschreib"-Taste
11 CTRL key Ctrl/Strg-Taste
12 ALT key Alt-Taste
13 PAUSE key Pause-Taste
14 CAPS LOCK key Feststelltaste
1B ESC key Esc-Taste
20 SPACEBAR Leertaste
21 PAGE UP key Bild-auf Taste
22 PAGE DOWN key Bild-ab Taste
23 END key Ende-Taste
24 HOME key Pos 1-Taste
25 LEFT ARROW key Pfeiltaste nach links
26 UP ARROW key Pfeiltaste nach oben
27 RIGHT ARROW key Pfeiltaste nach rechts
28 DOWN ARROW key Pfeiltaste nach unten
29 SELECT key Auswahltaste
2A PRINT key Druck
2B EXECUTE key Ausführentaste
2C PRINT SCREEN key Drucktaste
2D INS key Einfg-Taste
2E DEL key Entf-Taste
30 0 key 0
31 1 key 1
32 2 key 2
33 3 key 3
34 4 key 4
35 5 key 5
36 6 key 6
37 7 key 7
38 8 key 8
39 9 key 9
41 A key A
42 B key B
43 C key C
44 D key D
45 E key E
46 F key F
47 G key G
48 H key H
49 I key I
4A J key J
4B K key K
4C L key L
4D M key M
4E N key N
4F O key O
50 P key P
51 Q key Q
52 R key R
53 S key S
54 T key T
55 U key U
56 V key V
57 W key W
58 X key X
59 Y key Y
5A Z key Z
5B Left Windows key Linke Windows-Taste
5C Right Windows key Rechte Windows-Taste
60 Numeric keypad 0 key rechter Nummerblock Taste 0
61 Numeric keypad 1 key rechter Nummerblock Taste 1
62 Numeric keypad 2 key rechter Nummerblock Taste 2
63 Numeric keypad 3 key rechter Nummerblock Taste 3
64 Numeric keypad 4 key rechter Nummerblock Taste 4
65 Numeric keypad 5 key rechter Nummerblock Taste 5
66 Numeric keypad 6 key rechter Nummerblock Taste 6
67 Numeric keypad 7 key rechter Nummerblock Taste 7
68 Numeric keypad 8 key rechter Nummerblock Taste 8
69 Numeric keypad 9 key rechter Nummerblock Taste 9
6A Multiply key rechter Nummerblock Malzeichen
6B Add key rechter Nummerblock Pluszeichen
6C Separator key Eingabetaste
6D Subtract key rechter Nummerblock Minuszeichen
6E Decimal key rechter Nummerblock Kommazeichen
6F Divide key rechter Nummerblock Geteiltzeichen
70 F1 key F1
71 F2 key F2
72 F3 key F3
73 F4 key F4
74 F5 key F5
75 F6 key F6
76 F7 key F7
77 F8 key F8
78 F9 key F9
79 F10 key F10
7A F11 key F11
7B F12 key F12
7C-7F F13 key - F16 key F13 - F16
80H-87H F17 key - F24 key F17 - F24
90 NUM LOCK key Num-Taste
91 SCROLL LOCK key Rollen-Taste
A0 Left SHIFT key linke Shift/Umschalt/Feststelltaste
A1 Right SHIFT key rechte Shift/Umschalt/Feststelltaste
A2 Left CONTROL key linke Ctrl/Strg-Taste
A3 Right CONTROL key rechte Ctrl/Strg-Taste
A4 Left MENU key (linke) Alt-Taste
A5 Right MENU key (rechte) Alt Gr-Taste

Beispiel

#include <Misc.au3>
#include <MsgBoxConstants.au3>

Local $hDLL = DllOpen("user32.dll")

While 1
    If _IsPressed("10", $hDLL) Then
        ConsoleWrite("_IsPressed - Shift-Taste wurde gedrückt." & @CRLF)
        ; Wartet bis die Taste wieder losgelassen wurde.
        While _IsPressed("10", $hDLL)
            Sleep(250)
        WEnd
        ConsoleWrite("_IsPressed - Shift-Taste wurde losgelassen." & @CRLF)
    ElseIf _IsPressed("1B", $hDLL) Then
        MsgBox($MB_SYSTEMMODAL, "_IsPressed", "Da Esc-Taste gedrückt wurde wird die Anwendung beendet.")
        ExitLoop
    EndIf
    Sleep(250)
WEnd

DllClose($hDLL)