Autor Beitrag
Logikmensch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 390

Win XP
Delphi 2007 Prof., XE2, XE5
BeitragVerfasst: Do 24.02.05 16:07 
Hallo,

ich möchte für ein Homecomputer-Emulations-Programm die beiden Shift- oder Großschreibtasten des PC getrennt abfragen und spezielle Shift-Funktionen damit auslösen, die der simulierte Homecomputer vor Jahren bot.
Dazu habe ich mit der API-Funktion
if getkeystate(VK_LSHIFT) and 128>0 then...
bzw. mit VK_RSHIFT unter Windows XP (Home und Professional) die beiden Shift-Tasten erfolgreich getrennt abfragen können, wie dies in diesem Forum auch oft geschildert wurde.
Setze ich die Funktionen allerdings auf einem Windows 98-Rechner ein, d.h. lasse ich mein Programm dort laufen, dann funktioniert dies nicht. Der Grund: GetKeyState(VK_LSHIFT) oder GetKeyState(VK_RSHIFT) liefern unter Win98 immer den Wert 0. Nur der Zustand der Shift-Taste VK_SHIFT lässt sich dort erfolgreich abfragen (das nützte mir aber nichts).
Ich nehme an, dass die beiden virtuellen Tastencodes VK_LSHIFT und VK_RSHIFT nicht unter Windows 98 und tiefer verfügbar sind.
Da mein Programm auch Hotkeys wie Ctrl+C etc. für Zwischenablage verwendet, möchte ich nicht auf die Ctrl-Taste oder gar Alt-Taste ausweichen.
Weiß jemand, ob es unter Win98 noch einen anderen Weg gibt, die beiden Shift-Tasten links und rechts getrennt abzufragen?

Für jede Hilfe bedanke ich mich in Voraus.