Prüft, ob eine Taste gedrückt wurde
#include <Misc.au3>
_IsPressed ( $sHexKey [, $vDLL = "user32.dll"] )
$sHexKey | zu prüfende Taste |
$vDLL | [optional] Handle zu der DLL (standardmäßig user32.dll) |
True: | wenn die Taste gedrückt wurde |
False: | wenn die Taste nicht gedrückt wurde |
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 |
#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)