| |
|
|
| Hallo!
Folgendes Beispiel löst bei mir seltsames aus:
--------------------------------------------- WhileNot (%scankey = 27) WaitInput print GetSystemKey() EndWhile ---------------------------------------------
Da das Ergebnis von GetSystemKey() der ASCII-Code der gedrückten Taste ist, frage ich mich, wie ich ihn in den Ansi-Code umwandeln soll, da @OemToAnsi$(S) nicht richtig funzt, da OemToAnsi$(Chr$(GetSystemKey())) nicht funktionieren kann.
Danke. |
|
|
| |
|
|
|
| Hallo David,
es wird 0 zurück gegeben... Aber probier das mal...
x&=GetSystemKey() Print Str$(x&)
...anstatt...
print GetSystemKey()
Jetzt funktionierts ! Scheint ein Profan-Bug bei der Typenumwandlung zu sein, oder ?
Gruß, Frank |
|
|
| |
|
|
|
| Danke Frank, funzt super!
Eins wäre noch: Warum haben Strg, Alt, Alt Gr alle den Wert 17? %ScanKey gibt bei Alt Gr 18 aus. |
|
|
| |
|
|
|
| Hallo,
das liegt wohl daran, das die Funktion den Status aller 256 Tastencodes prüft. Sobald einer gefunden wurde, kehrt die Funktion zu Profan zurück. Und da 17 von 18 kommt, wird die Funktion mit VK_MENU anstatt VK_CONTROL beendet, was bedeutet, das du eine der Alttasten zusammen mit Strg gedrückt hast. Die ProSpeed Anleitung ist an dieser Stelle auch falsch, zurück wird nicht der ASCII Code gegeben, sondern der virtuelle Keycode, sorry. Ich werde das ändern.
Profans %scankey ist das Ergebniss einer Tastatur Message und erhält deswegen genauere Werte, arbeitet dafür aber nur, wenn das Fenster den Focus besitzt...
Gruß, Frank |
|
|
| |
|
|
|
| Danke für die Erläuterungen!
mfg. David Scherr |
|
|
| |
|
|