Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 249293 (10729)

| Suchen
| Zurück zur Übersicht

Autor | Thema: Tastatureingaben abfragen
Philipp Sternberg
| Datum:21.12.01 14:10 (ps@burghardt-ib.de) |
Hallo leute, wie kann ich in der haupt-while-schleife abfragen, ob eine bestimmte STRG+xxx kombination (z.B. STRG+C = kopieren) über die Tatatur gedrückt wurde ? Bei Tasten wie F1-F12 ist es einfach mittels %scankey zu lösen nur wie funktioneiert das ganze bei Tastenkombinationen ?? danke und frohes Fest ! Philipp Sternberg
Jörg Sellmeyer
| Datum:21.12.01 14:18 (joerse@gmx.de) |
Hallo, Es geht doch nichts über eine gutsortierte Codekiste :-) Gruß Jörg Autor: Norbert Spörl (NSp_ware@t-online.de) Betreff: Re: Scancodes Hallo, hab es nach einiger Mühe hinbekommen. Die Zeilen unten müßten das Problem lösen. MfG Norbert ----------------------------------------------------------------------------------------------------------------------------- DEF GetKeyState(1) ! "USER32", "GetKeyState" CLS DECLARE ende%, vk1&, vk2& WHILENOT ende% WAITINPUT vk1& = TESTBIT(GetKeyState(9), 15) '-> 9 steht für Tab vk2& = TESTBIT(GetKeyState(16), 15) '-> 16 steht für Shift IF AND(vk1&, vk2&) MESSAGEBOX "Shift und Tab wurden gleichzeitig gedrückt.", " ... Hurraa ! ", 64 ENDIF ENDWHILE END
Moritz Kersten
| Datum: 21.12.01 16:03 (IsNoGood2000@aol.com) |
Hallo, das geht auch noch etwas einfacher, ich mach das immer so: Def Keystate(1) !"USER32","GetKeyState" Def Key(1) @equ(@and(@keystate(&(1)),$8000),$8000) Strg+C würde dann so ausehen: if @and(@key(17),@key(67)) ... endif Wenn du statt GetKeyState, GetAsyncKeyState benutz wird die Tastatur auch abgefragt wenn dein Programm nicht den Focus hat. Hier noch die wichtigsten Codes: 1 linke Maustaste 2 rechte Maustaste 3 oder 4 mittlere Maustaste 8 Backspace 9 Tab 13 Enter 16 Shift 17 Strg 18 Alt 19 Pause 27 Esc 37 Cursor links 38 Cursor oben 39 Cursor Rechts 40 Cursor unten 65-90 A-Z mfg Moritz

| Zurück zur Übersicht