000
24.09.2003, 09:06 Uhr
~Dirk22
Gast
|
Hallo,
ich lese gerade den Petzold und bin beim Kapitel Tastatur. Es ist sehr interessant, was er darüber schreibt, und auch insgesamt finde ich dieses Buch sehr lohnenswert bisher. Nun würde mich allerdings interessieren, wie ich auf eine Benutzereingabe reagieren kann, bei der Tasten gleichzeitig gedrückt werden. Zum Beispiel möchte ich auf eine Eingabe reagieren, bei der die Taste A und B gleichzeitig gedrückt ist. Falls die Tasten hintereinander gedrückt werden, soll nicht darauf reagiert werden. Es soll wirklich nur darauf reagiert werden, wenn der Benutzer die Tasten gleichzeitig drückt. Wie mache ich so etwas?
Mein eigener Ansatz sieht folgendermassen aus: Es ist im Prinzip nicht möglich für Windows dass zwei Tasten genau zur selben Zeit gedrückt werden. Entweder wird die Nachricht für das a oder das b zuerst in der Systemwarteschlange sein. Wenn ich nun mit Hilfe von GetMessageTime den Abstand zwischen den beiden Nachrichten ermittle und dieser sehr gering ist, dann kann ich davon ausgehen, dass der Benutzer die Tasten gleichzeitig gedrückt hat. Und nur dann werde ich darauf reagieren.
Ist dieser Ansatz vom Prinzip her richtig oder falsch? Oder gibt es eine andere Möglichkeit? Ein Beispiel mit etwas Code, wie man auf gleichzeitige Tastendrücke reagiert wäre super.
Vielen Dank im Voraus
Dirk |