What\'s the difference between getting a key press with:
GetKeyState()GetAsyncKeyState()getch()?
Think what async means.
GetAsyncKeyState() gets the key state asynchronously, i.e., without waiting for anything, i.e. NOW.
GetKeyState() gets the key state synchronously, it is the key state of the key that you are about to read with getch(). It is queued in the keyboard buffer along with the keypresses themselves.
As an example, imagine the following has been typed, but hasn't yet been read:
GetAsyncKeyState() will return ctrl pressed
GetKeyState() will returnH presseduntil you callgetch()`
GetKeyState() will then return I pressed until you call getch()
GetKeyState() will then return shift pressed, 1 pressed until you call getch(), which will return ! (result from pressing shift+1)
GetKeyState() will then return ctrl pressed