Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CAPS LOCK, NUM LOCK, SCROLL LOCK PAR LOGICIEL


Information sur la source

Catégorie :API Niveau : Débutant Date de création : 10/04/2003 Date de mise à jour : 10/04/2003 19:11:52 Vu : 14 221

Note :
4 / 10 - par 1 personne
4,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

Description

Simule l'appui sur Verrouillage majuscules, Verrouillage numérique, Arrêt défilement
 

Source

  • 'Dans un module ou dans la section Général-Déclarations de la feuille : (Private ? Public ?)
  • Const VK_CAPITAL = &H14 ' CapsLock
  • Const VK_NUMLOCK = &H90 ' NumLock
  • Const VK_SCROLL = &H91 ' ScrollLock
  • Private Type KeyboardBytes
  • kbByte(0 To 255) As Byte
  • End Type
  • Private Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
  • Private Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
  • Dim kbArray As KeyboardBytes, kbOld As KeyboardBytes
  • '-----------------------------------------------------
  • Private Sub Active(vkKey As Long, Actif As Byte)
  • GetKeyboardState kbArray
  • kbArray.kbByte(vkKey) = Actif
  • SetKeyboardState kbArray
  • End Sub
  • '-----------------------------------------------------
  • Private Sub Form_Load()
  • GetKeyboardState kbOld' se rappeler l'état initial du clavier
  • End Sub
  • '-----------------------------------------------------
  • Private Sub Form_Unload(Cancel As Integer)
  • SetKeyboardState kbOld' restaurer l'état initial du clavier
  • End Sub
  • '-----------------------------------------------------
  • 'Pour (par exemple) activer le verrouillage majuscules,
  • 'Active VK_CAPITAL, 1
  • 'pour le désactiver :
  • 'Active VK_CAPITAL, 0
'Dans un module ou dans la section Général-Déclarations de la feuille : (Private ? Public ?)

Const VK_CAPITAL = &H14 ' CapsLock
Const VK_NUMLOCK = &H90 ' NumLock
Const VK_SCROLL = &H91  ' ScrollLock
Private Type KeyboardBytes
     kbByte(0 To 255) As Byte
End Type
Private Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Private Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Dim kbArray As KeyboardBytes, kbOld As KeyboardBytes
'-----------------------------------------------------
Private Sub Active(vkKey As Long, Actif As Byte)
   GetKeyboardState kbArray
   kbArray.kbByte(vkKey) = Actif
   SetKeyboardState kbArray
End Sub
'-----------------------------------------------------
Private Sub Form_Load()
    GetKeyboardState kbOld' se rappeler l'état initial du clavier
End Sub
'-----------------------------------------------------
Private Sub Form_Unload(Cancel As Integer)
    SetKeyboardState kbOld' restaurer l'état initial du clavier
End Sub
'-----------------------------------------------------


'Pour (par exemple) activer le verrouillage majuscules, 
'Active VK_CAPITAL, 1

'pour le désactiver : 
'Active VK_CAPITAL, 0 

Commentaires et avis

signaler à un administrateur
Commentaire de filou le 11/04/2003 07:52:30

Salut,
Comment avec ton code interroger si CapsLock est activé afin de mettre un rappel dans la barre de tâches Merci

signaler à un administrateur
Commentaire de rene38 le 11/04/2003 10:07:45

Bonjour
Il suffit d'ajouter une petite fonction du genre :

Private Function Etat(vKey As Long) As Byte
   GetKeyboardState kbArray
   Etat = kbArray.kbByte(vKey)
End Function

à appeler par exemple par

Dim CapsLock As Byte
CapsLock = Etat(VK_CAPITAL)

CapsLock = 1 => Activé
CapsLock = 0 => désactivé

signaler à un administrateur
Commentaire de Appil le 11/04/2003 16:47:07

Salut ..
moi je n'ai qu'une simple question :
à koi sert la touceh <Scroll Lock> ou <Arrêt défilement> ?
je sais que ce n'est pas la place pour poser ce genre de question .. mais j'y peux rien, je cherche la réponse depuis une eterenité ..
Merci.

signaler à un administrateur
Commentaire de Appil le 14/04/2003 11:49:13

Alors là je vois que je ne suis pas le seul à ignorer la fonction de cette touche :)))))))

signaler à un administrateur
Commentaire de Vbsupernul le 19/05/2003 19:23:42

Scroll Lock ça sert pas je crois :/

signaler à un administrateur
Commentaire de lionelbre le 25/08/2004 09:18:18

scroll lock, ca eu servit du bon vieux temps du dos ....
c'etait pour stoper le defilement d'une liste a l'ecran
genre dir c:\windows\system32

la, ca defle, alors hop une pression sur scroll lock, et on a le temps de lire

sous win, je sais po si ca sert encore

signaler à un administrateur
Commentaire de enogai le 03/11/2004 21:49:15

ca marche bien mais la petite lampe ne s'allume pas

signaler à un administrateur
Commentaire de arnaud_vb6 le 12/02/2005 15:19:41

Bonjour Rene38,

Je programme actuellement des envoi de touches par la commande sendkeys et j'ai remarqué que lorsque je suis en majuscule ça ne marche pas !

Exemple : envoi des touches &é" donne 123

Je souhaiterai vivement trouvé une solution pour appuyer sur la touche SHIFT

Il faut savoir qu'il y a 2 cas :
1 - windows a été installé sans modification des touches (donc j'appuie sur MAJ je suis en majuscule et je rappuie je n'y suis plus)
2 - windows à été modifié (panneau de configuration/option régionnal et linguistiques/langues/détails/paramètres des touches/option : pour dévérouillé les majuscules appuyer sur MAJ sélectionné à la place de VERR MAJ)

Je suis dans le cas 2 (donc l'appuie sur MAJ 1 fois ou 30 fois c la même chose)

Je te remercie d'avvance si tu peu m'éclarer car je patoge dans le semoule comme on dit ici :-(

Sincères salutations
Arnaud

signaler à un administrateur
Commentaire de bouv le 07/04/2005 11:14:44

Pour ScrollLock mettez vous sous Excel
et naviguez avec les touches Haut, Bas, Gauche, Droite
changez l'atat de ScrollLock et recommencez
vous ne changez plus de cellule mais vous faites défiller la feuille

Bonne prog
++

signaler à un administrateur
Commentaire de NHenry le 07/04/2005 16:04:12

Et mme, Ctrl+ScrollLock permet de mettre ne pause le prg en VB6 .

signaler à un administrateur
Commentaire de gb29fr le 21/01/2006 12:03:47

Bonjour!
J'ai exacteme,t besoin d'un programme qui fait ca! (activer le CapLock au lancement)
Mais j'y connai rien en VB!!! J'ai essayer de compiler le code donnée dans visual studioexpress2005, mais j'ai plein d'erreur du genre variable pas déclarer etc...des la ligne private type!
Help!!! Merci de m'expliquer comment compiler ce code correctement, un grand merci à ceux qui le feront!!!
Ps:je n'ai pas besoin de pouvoir rappeler l'etat precedent de la touche, justequ'il l'active, c'est pour mettre au demarrage d'un pc
Voilà Merci!

signaler à un administrateur
Commentaire de pekch le 25/04/2006 17:11:20

nan, c'est ctrl+pause (ou break) que permet de pauser l'execution en vb

signaler à un administrateur
Commentaire de aybe81 le 24/12/2006 22:37:28

Ne fonctionne plus sous VB2005, il faut utiliser SendInput.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,640 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.