Controle des led du clavier

0/5 (8 avis)

Vue 4 680 fois - Téléchargée 528 fois

Description

Permet d'allumer ou d'étteindre les LED du clavier (Maj et Num). Utile pour donner un effet visuel lors d'un jeu par exemple (je m'en suis servi pour faire clignoter les LED dans un jeu combat naval, lorsque un bateau était coulé). Effet garanti.

Source / Exemple :


Voir fichier zip ci joint

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
142
Date d'inscription
jeudi 10 juillet 2003
Statut
Membre
Dernière intervention
10 novembre 2007

puissant merci eyesonlyle pour la version xp (ca marche sur windows 2003 server enterprise edition
Messages postés
142
Date d'inscription
jeudi 10 juillet 2003
Statut
Membre
Dernière intervention
10 novembre 2007

puissant merci eyesonlyle pour la version xp (ca marche sur windows 2003 server enterprise edition
Messages postés
4
Date d'inscription
samedi 22 novembre 2003
Statut
Membre
Dernière intervention
1 décembre 2003

si ça marche sous win xp jv méclater, jsuis entrain de faire un tetris , ça va maider.
si ça marche merci bcp!!!!!
*bonne prog
Messages postés
3
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
5 août 2004

Voila la reponse pour XP, il faut utiliser sendinput, c'est plus compliqué.
cet exemple permet juste d'allumer/eteindre le bouton numlock, mais l'adapter sera facile.


' a mettre dans un module !!!
' et creer un bouton command
Public Type KEYBDINPUT
wVk As Integer
wScan As Integer
dwFlags As Long
time As Long
dwExtraInfo As Long
End Type
Public Const KEYEVENTF_KEYUP = &H2
Public Type INPUT_TYPE
dwType As Long
xi(0 To 23) As Byte
End Type
Public Const INPUT_KEYBOARD = 1
Public Declare Function SendInput Lib "user32.dll" (ByVal nInputs As Long, pInputs As INPUT_TYPE, _
ByVal cbSize As Long) As Long
Public Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (Destination As Any, Source _
As Any, ByVal Length As Long)

' a mettre dans "form"

Private Sub Command1_Click()
Dim inputevents(0 To 3) As INPUT_TYPE ' holds information about each event
Dim keyevent As KEYBDINPUT ' temporarily hold keyboard input info

With keyevent
.wVk = vbKeyNumlock
.wScan = 0 ' not needed
.dwFlags = 0 ' press the key down
.time = 0 ' use the default
.dwExtraInfo = 0 ' not needed
End With
' Copy the structure into the input array's buffer.
inputevents(0).dwType = INPUT_KEYBOARD
CopyMemory inputevents(0).xi(0), keyevent, Len(keyevent)

With keyevent
.wVk = vbKeyNumlock
.wScan = 0 ' not needed
.dwFlags = KEYEVENTF_KEYUP ' release the key
.time = 0 ' use the default
.dwExtraInfo = 0 ' not needed
End With
inputevents(1).dwType = INPUT_KEYBOARD
CopyMemory inputevents(1).xi(0), keyevent, Len(keyevent)
SendInput 2, inputevents(0), Len(inputevents(0))
End Sub
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
Fonctionne pas sous XP non plus !! Dommage ca pouvait etre interessant !! Frans, si tu avais l'équivalent des APIs que tu utilises sur XP, ce serait sympa !! Merci d'avance
Afficher les 8 commentaires

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.