Obtenez l'état du clavier et vérifiez l'état des touches que vous voulez.
Les événements ne sont pas la meilleure façon d'aller dans les jeux. Vous avez besoin d'une réponse plus rapide.
[DllImport("user32.dll")]
public static extern int GetKeyboardState(byte [] lpKeyState);
...
byte[] bCharData = new byte[256];
GetKeyboardState(bCharData);
Une autre façon, tirée de here,
[DllImport("user32.dll")]
static extern short GetKeyState(VirtualKeyStates nVirtKey);
...
public static bool IsKeyPressed(VirtualKeyStates testKey)
{
bool keyPressed = false;
short result= GetKeyState(testKey);
switch (result)
{
case 0:
// Not pressed and not toggled on.
keyPressed = false;
break;
case 1:
// Not pressed, but toggled on
keyPressed = false;
break;
default:
// Pressed (and may be toggled on)
keyPressed = true;
break;
}
return keyPressed;
}
More links.
En fait, ceux-ci sont déjà disponibles sur le net. Essayez de chercher avant de demander. Ce sera plus rapide :)
Et quel est le problème? Je pense que votre code devrait fonctionner. Mais Nayan a une meilleure option. –