Bonjour,
est-il possible d'activer la touche Num Lock en C++? et comment?
J'utilise Visual Studio 2008.
Merci
Version imprimable
Bonjour,
est-il possible d'activer la touche Num Lock en C++? et comment?
J'utilise Visual Studio 2008.
Merci
Bonjour et bienvenu,
Oui et non :
Non rien en C++ standard n'existe (du moins, à ma connaissance).
Oui, sur Windows, c'est possible !
En lisant le MDSN ;)
Bon, pour une recherche plus rapide, c'est ici
C'est la première fois que je vais quelque chose de ce genre. Je ne suis pas débutant, je suis inscrit au cours de Programmation Avancée au cégep, mais je n'ai jamais eu à faire ça.
Pourrais-tu m'aider et me montrer comment faire stp?
Bonjour,
J'ai déjà eu à faire l'inverse et avec la touche "Verr Maj" (désactiver le verrouillage majuscule). En adaptant à ton cas, ça donnerait ça :Code:
1
2
3
4
5
6
7
8
9 // Macro à placer à l'endroit le plus adéquat. #define IsNumLocked() ((GetKeyState(VK_NUMLOCK) & 1)? true : false) // Activation du verrouillage numérique. if (!IsNumLocked()) { keybd_event(VK_NUMLOCK, MapVirtualKey(VK_NUMLOCK, 0), 0, 0); keybd_event(VK_NUMLOCK, MapVirtualKey(VK_NUMLOCK, 0), KEYEVENTF_KEYUP, 0); }
Bonjour,
Personellement j'utilise SendInput, qui fait la même chose.
Ta demande est l'exemple de code de la fonction keybd_event dans la MSDN. :D
Salut,
On peut aussi utiliser l'api: SetKeyboardState.
Pareil mais tu ne testes plus son état ou tu le testes à l'envers (code de PetitPapaNoël) :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 // Macro à placer à l'endroit le plus adéquat. #define IsNumLocked() ((GetKeyState(VK_NUMLOCK) & 1)? true : false) // Activation du verrouillage numérique. if (!IsNumLocked()) { keybd_event(VK_NUMLOCK, MapVirtualKey(VK_NUMLOCK, 0), 0, 0); keybd_event(VK_NUMLOCK, MapVirtualKey(VK_NUMLOCK, 0), KEYEVENTF_KEYUP, 0); } // Dés-activation du verrouillage numérique. if (IsNumLocked()) { keybd_event(VK_NUMLOCK, MapVirtualKey(VK_NUMLOCK, 0), 0, 0); keybd_event(VK_NUMLOCK, MapVirtualKey(VK_NUMLOCK, 0), KEYEVENTF_KEYUP, 0); }
Dans le MSDN, je trouve ça :
Et effectivement, ça marche pas :(Citation:
an application cannot use SetKeyboardState to set the NUM LOCK, CAPS LOCK, or SCROLL LOCK (or the Japanese KANA) indicator lights on the keyboard. These can be set or cleared using SendInput to simulate keystrokes.