Einzelnen Beitrag anzeigen

FragenderHerbert

Registriert seit: 4. Dez 2013
47 Beiträge
 
#1

GetAsyncKeyState - Verständnisfrage

  Alt 24. Okt 2014, 19:00
Ich beschäftige michz gerade mit dieser Winapi Funktion. Lucky ha ja ein gutes WinAPI Tutorial geschrieben, was mich motiviert hat, mich mal mit selbigem zu beschäftigen.

Nun bin ich beim Lesen der MS Doku zur Routine [B]GetAsyncKeyState()[/]

Wenn das MSB gesetzt ist, wurde die abgefragte Taste, die ich als Parameter übergebe, gedrückt.

Wenn das LSB Last significant Bit, das niedrigste also 2 hoch Null gesetzt ist, wurde der Schalter beim vorherigen Aufruf der Funktion gedrückt. Ich will aber feststellen, ob der Schalter stattdessen losgelassen wurde. Wie schaffe ich das?

HIer der Auszug aud dem MDSN:

Zitat von MSDN:
If the function succeeds, the return value specifies whether the key was pressed since the last call to GetAsyncKeyState, and whether the key is currently up or down. If the most significant bit is set, the key is down, and if the least significant bit is set, the key was pressed after the previous call to GetAsyncKeyState. However, you should not rely on this last behavior; for more information, see the Remarks.
von hier:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

Aus den Bemerkungen im Abschnitt Remarks werde ich nicht schlau. Wer kann das verständlicher erklären?

Welchen Rückgabwert erhalte ich, wenn ich den gedrückten Schalter wieder losgelassen habe?


Ich habe verstanden, das das Most Significant Bit, das höchstwertige Bit also, gesetzt ist, wenn die abgefragte Taste gedrückt ist.

Ist dann der restliche Wert, wenn das höchstwertige Bit ausmaskiert wird, äquivalent zum Wert der gedrückten Taste?

Ist der Rückgabewert immer noch gleich dem Wert der vorher gedrückten, jetzt aber wieder losgelassenen Taste, nur das jetzt das MSB wieder den Wert 0 hat?


Wenn nicht, wie erkenne ich dann, was sich gedrückt habe?

Geändert von FragenderHerbert (24. Okt 2014 um 19:09 Uhr)
  Mit Zitat antworten Zitat