{steinsoft.net}
 
 
 
 
 
Home/News
Code Snippets
Board
Projects
What's That?
I am using it actively
I planning to use/learn it
I don't plan to lean/use it
5th option
Leipzig
Home :: Programming :: Code Snippets :: MfcWin :: Fast Keyboard/Mouse Test

[ Fast Keyboard/Mouse Test ]

In this short snippet, I will show you a Win32 function that checks whether a button is pressed or not. The good thing is that you don't need to handle the WM_KEYDOWN message. The second advantage is that it is really easy to use and that it can be used everywhere in the code. Here is the function-definition:

SHORT GetAsyncKeyState(
   int vKey // virtual-key code
);

vKey is the virtual key code of the keyboard or mouse button you want to test. GetAsyncKeyState(..) returns true if this button is pressed and false if not. I always use GetAsyncKeyState(..) for my games and demos because it can be used simply like this without a long message handle. Here is a little example how to use it:

void CheckKeyboard()
{
   //Escape is down
   if (GetAsyncKeyState(VK_ESCAPE))
   {
      PostMessage(hWnd,WM_CLOSE,0,0);
   }
  
   //Right mouse is down
   if (GetAsyncKeyState(VK_RBUTTON))
   {
      //..
      //Do something
      //..
   }
}

In this function, we will check what keys are down. You could now use this function in your main loop or somewhere else in your code. Here is a list of the most important virtual key codes:

Virtual Key Code Corresponding key on the keyboard
VK_ESCAPE Escape
VK_SPACE Space
VK_LEFT Left Arrow
VK_RIGHT Right Arrow
VK_UP Up Arrow
VK_DOWN Down Arrow
VK_SHIFT Shift
VK_CONTROL Control
VK_LBUTTON Left Mouse Button
VK_RBUTTON Right Mouse Button

That's it! If you run into problems, simply m@il me. Happy Coding!

 Last edited 2002-12-08 00:18:55 by André Stein - printable version
» copyright by andré stein
» using stCM v1.0
» steinsoft.net revision 5.0