Veröffentlicht 22. April 200520 j Ich möchte in meinem Programm abfragen ob eine bestimmte Tastenkombination (Strg+Shift+C) gedrückt ist. Habe folgende Abfrage: if ((GetKeyState(17)<0) && (GetKeyState(16)<0) && (GetKeyState(67)<0)) { //die tasten sind gedrückt. } jetzt ist mir folgendes aufgefallen. wenn ich zum Beispiel: C + Shift + Strg oder C + Strg + Shift drückt (also die reihenfolgen) dann funktioniert es. ABER: bei der Reihenfolge: Strg+Shift+C Funktioniert die Abfrage nicht, weil angeblich C nicht gedrückt ist. Anfangs dachte ich dass es daran liegt dass ich die "Shift" Taste zuerst drücke und somit kein "kleines c" sondern ein "großes C" signalisiert wird wenn ich "C" drücke. aber die Tastenkombination Shift + C + Strg funktioniert auch. also kann es an dem "großen C" nicht liegen. wisst ihr an was es liegen könnte? wär echt super. danke swordmaster
23. April 200520 j Hast du eine Konsolenanwendung? Da wird Strg+C gesondert behandelt. Siehe: http://msdn.microsoft.com/library/en-us/dllproc/base/ctrl_c_and_ctrl_break_signals.asp SetConsoleCtrlHandler(0, TRUE);am Anfang deines Programms sollte also schon ausreichen.
23. April 200520 j Autor danke für deine schnelle antwort, aber ich habe eine mfc dialogbasierende anwendung. (VC++ 6.0) ist mir echt schleierhaft wieso es da auf die reihenfolge der tastendrücke ankommt :-(.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.