Les Snippets

Connexion

Récupérer / modifier l'état de la touche MAJ du clavier (ou NUM ou SCROLL)

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 21/08/2008 02:58:27 et initié par PCPT [Liste]
Date de mise à jour : 14/09/2008 04:38:57
Vue : 1256
Catégorie(s) : API, Divers
Langages dispo pour ce code :
- VB6, VBA



Langage : VB6 , VBA
Date ajout : 21/08/2008
Posté par PCPT [Liste]
DateMAJ : 14/09/2008
'   DANS UN MODULE  STANDARD
Option Explicit
'
Private Const VK_CAPITAL As Long &H14
'
Private Type KeyboardBytes
     kbByte(To 255As 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 tKB As KeyboardBytes
'
'
Public Function KeyMaj_TurnON() As Boolean
'   on ne fait rien si  déjà ON
    If KeyMaj_IsON Then
        KeyMaj_TurnON = True
    Else
'       par le test avant, le tableau est à jour. on met à  VRAI
        tKB.kbByte(VK_CAPITAL) = 1
'       on  applique
        KeyMaj_TurnON = SetKeyboardState(tKB)
    End If
End Function
'
'
Public Function KeyMaj_TurnOFF() As Boolean
'   on ne fait rien si  déjà OFF
    If KeyMaj_IsON Then
'       par le test au dessus, le tableau est à jour. on met à  FAUX
        tKB.kbByte(VK_CAPITAL) = 0
'       on  applique
        KeyMaj_TurnOFF = SetKeyboardState(tKB)
    Else
        KeyMaj_TurnOFF = True
    End If
End Function
'
'
Public Function KeyMaj_IsON() As Boolean
'   récupe l'état des  touches du clavier
    If GetKeyboardState(tKB) Then KeyMaj_IsON = tKB.kbByte(VK_CAPITAL)
End Function

Remarque :
le code est le même pour la touche NUM ou SCROLL, par ces constantes :
Private Const VK_NUMLOCK As Long = &H90&
Private Const VK_SCROLL As Long = &H91&
-----------------------
les 3 fonctions peuvent être simplement appelées sans vérifier le retour....
Call KeyMaj_TurnON
-----------------------
NB : les voyants du clavier ne sont pas altérés, ce code ne concerne que l'application en cours, une zone de texte par exemple....
ce code change le comportement du clavier, pas l'état réel des touches. pour cela il faut passer par keybd_event

Snippets en rapport avec : Majuscule, Clavier, Modifier, Touche, État



Codes sources en rapport avec : Majuscule, Clavier, Modifier, Touche, État

{Javascript / DHTML} CLAVIER VIRTUEL
Plus et explication de la troisieme version : Apres avoir reçu un commentaire m'expliquant que sans ...

{Visual Basic, VB6, VB.NET, VB 2005} BLOCAGE TOUCHE WINDOWS
Voici un petit programme bloquant les principales touches Windows, je sais qu'il en existe déja mais...

{C / C++ / C++.NET} SIMULER LES TOUCHES CLAVIER
Pour question récurrente sur forum. Ouvrir une fenêtre notepad pour tester, pour cela que j'ai mi...

{JAVA / J2EE} ÉVÉNEMENTS DE FRAPPE DES TOUCHES DU CLAVIER
Savoir ce que l'utilisateur à effectuer comme touche. Vérifier si cette touche est une action t'elle...

{JAVA / J2EE} COMMENT RECUPERER LES TOUCHE SAISIE AU CLAVIER
Dans cet exemple je montre comment recuperer les touches du clavier et les afficher. ...

{Visual Basic, VB6, VB.NET, VB 2005} CODE SCAN DES TOUCHES DU CLAVIER
Affiche le code scan du clavier et non pas le code ASCII ...

{Visual Basic, VB6, VB.NET, VB 2005} TESTER L' ÉTAT DES TOUCHES DU CLAVIER (API)
Permet de détecter l' état d' une ou plusieurs touches....

{Visual Basic, VB6, VB.NET, VB 2005} RECUPERER LA TOUCHE PRESSÉE
Ce petit source vous permetra de savoir quelle touche a été pressée sur la feuille....

{Visual Basic, VB6, VB.NET, VB 2005} COMMENT SAVOIR SI UN UTLISATEUR APPUIE SUR UNE CERTAINE TOUCHE?
Placez sur votre feuille un timer dont vous mettrez la propriété interval à 1, puis rentrez le code ...

{Visual Basic, VB6, VB.NET, VB 2005} COMMENT ENVOYER UNE COMMANDE CLAVIER???
Comment envoyer une commande clavier??? En utilisant l'instruction sendkeys:...