Gestion numlock (capslock)

Contenu du snippet

Gestion des touches Numlock et capslock sous Win98 sans Mhstate (keysta.ocx) donc (beaucoup) plus léger pour le code. Je n'ai pas crée ce code, je l'ai juste remis en forme et compacté.

Source / Exemple :


Gestion du Num-lock (ou caps-lock) win 98

1 feuille
1 bouton => command1
1 timer  => timer1

' ***** déclarations (module general, ou module xxx.bas : ! passer alors en public)
Const VK_CAPITAL = &H14
Const VK_NUMLOCK = &H90
Private Type KeyboardBytes
    kbByte(0 To 255) As Byte
End Type
Private kbArray As KeyboardBytes
Private Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Private Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long

' ***** bouton command1 (click)
Private Sub Command1_Click()
  kbArray.kbByte(VK_NUMLOCK) = IIf(kbArray.kbByte(VK_NUMLOCK) = 1, 0, 1)
  SetKeyboardState kbArray
  DoEvents
End Sub

' ***** timer1 réglé sur 100 (voir plus ou moins...)
Private Sub Timer1_Timer()
GetKeyboardState kbArray
DoEvents
Text1.Text = IIf(kbArray.kbByte(VK_NUMLOCK) = 1, "ON", "OFF")
End Sub

Conclusion :


En espérant que cela rendra service, car moi j'ai cherché longtemps. La note (si il y en a) n'est pas pour moi, mais pour l'inconnu qui l' écrit. En préparation, même chose sous XP et 2000.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.