Touche inser activée? [Résolu]

Vedlen 359 Messages postés mardi 14 octobre 2003Date d'inscription 7 septembre 2009 Dernière intervention - 4 déc. 2004 à 02:12 - Dernière réponse : Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention
- 4 déc. 2004 à 22:25
Bonjour,
j'aimerai savoir commment on peut connaître l'état de la touche inser. Merci!

Vedlen
Afficher la suite 

15 réponses

Meilleure réponse
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 4 déc. 2004 à 11:43
3
Merci
tu met un timer avec enabled à True et un interval de 100 et un TextBox pour afficher l'état de la touche.

Const VK_INSERT = &H2D

Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Long

Private Sub Timer1_Timer()
If GetKeyState(VK_INSERT) Then
Text1 = "Touche INSERT activée"
Else
Text1 = "Touche INSERT non activée"
End If
End Sub

Daniel

Merci Gobillot 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 75 internautes ce mois-ci

Vedlen 359 Messages postés mardi 14 octobre 2003Date d'inscription 7 septembre 2009 Dernière intervention - 4 déc. 2004 à 12:04
0
Merci
thanks ;)
Vedlen 359 Messages postés mardi 14 octobre 2003Date d'inscription 7 septembre 2009 Dernière intervention - 4 déc. 2004 à 12:19
0
Merci
..heu.. et comment est-ce qu'on peut activer cette touche? Si je fais

SendKeys "{INSERT}"


ça marche pas..

Vedlen
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 4 déc. 2004 à 12:31
0
Merci
un peu plus compliqué ...

Private Type KeyboardBytes
     kbByte(0 To 255) As Byte
End Type

Const VK_INSERT = &H2D

Dim 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

Private Sub Command1_Click()
    TurnOn (VK_INSERT)
End Sub

Private Sub Command2_Click()
    TurnOff (VK_INSERT)
End Sub

Private Sub TurnOn(vkKey As Long)
    'Get the keyboard state
    GetKeyboardState kbArray
    'Change a key
    kbArray.kbByte(vkKey) = 1
    'Set the keyboard state
    SetKeyboardState kbArray
End Sub

Private Sub TurnOff(vkKey As Long)
    'Get the keyboard state
    GetKeyboardState kbArray
    'change a key
    kbArray.kbByte(vkKey) = 0
    'set the keyboard state
    SetKeyboardState kbArray
End Sub


Daniel
Vedlen 359 Messages postés mardi 14 octobre 2003Date d'inscription 7 septembre 2009 Dernière intervention - 4 déc. 2004 à 12:48
0
Merci
...j'ai testé ça marche pas...
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 4 déc. 2004 à 14:15
0
Merci
ha bon !
j'ai mis les deux avec le timer, pour l'instant la touche est activée, j"appuies sur Command2, il passe à touche non activée, je vérifie ici même sur Codes Sources ...
en effet parfois ça marche mais pas toujours, alors je sais pas pas à quoi c'est dû.
pas d'autres solutions pour l'instant.... sorry !

Daniel
Vedlen 359 Messages postés mardi 14 octobre 2003Date d'inscription 7 septembre 2009 Dernière intervention - 4 déc. 2004 à 15:52
0
Merci
ok merci quand même

Vedlen
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 4 déc. 2004 à 21:06
0
Merci
La méthode marche pas pour NT et XP apparemment...
il faut faire un senkey en utilisant Keybd_event.
mais avant il faut activer l'application avec AppActivate.
il n'y a donc plus deux fonctions TurnOn et TurnOff puisque c'est la même qui fait les deux

Const VK_INSERT As Byte = &H2D
Const KEYEVENTF_EXTENDEDKEY = &H1
Const KEYEVENTF_KEYUP = &H2

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwflags As Long, ByVal dwExtraInfo As Long)

AppActivate ("touche inser activée?")

'Simule Key Press
 keybd_event VK_INSERT, 0, 0, 0

'Simule Key Release
keybd_event VK_INSERT, 0, KEYEVENTF_KEYUP, 0


PS: pour ceux qui vont arriver derrière en disant que c'est eux qui ont trouvé la solution, c'est pas très malin de leur part.

Daniel
Vedlen 359 Messages postés mardi 14 octobre 2003Date d'inscription 7 septembre 2009 Dernière intervention - 4 déc. 2004 à 21:45
0
Merci
Super ça marche merci beaucoup :)

Vedlen
Vedlen 359 Messages postés mardi 14 octobre 2003Date d'inscription 7 septembre 2009 Dernière intervention - 4 déc. 2004 à 21:47
0
Merci
Super ça marche merci :)

Vedlen
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 4 déc. 2004 à 21:49
0
Merci
vaut mieux 2 fois qu'une ...!

thanks :big)

Daniel
Vedlen 359 Messages postés mardi 14 octobre 2003Date d'inscription 7 septembre 2009 Dernière intervention - 4 déc. 2004 à 22:05
0
Merci
lol.. En fait ça marche pas :sad) ... C'est bizar est fait l'état de la touche indique la touche comme étant activée, mais quand je teste en écrivant ça marche pas.... Il faut vraiment appuyer manuellement sur la touche pour que ça prenne effet..

Vedlen
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 4 déc. 2004 à 22:15
0
Merci
ça dépend peut-être de l'application sur laquelle tu travailles, parceque si AppActivate n'a pas marché, le senkey n'a pas été envoyé correctement.
en fait quand tu fais AppActivate, l'application passe au premier plan, ce qui donne une bonne indication si le senkey va marcher ou pas.
peux tu m'en dire plus pour que je puisse tester ?

Daniel
Vedlen 359 Messages postés mardi 14 octobre 2003Date d'inscription 7 septembre 2009 Dernière intervention - 4 déc. 2004 à 22:19
0
Merci
Justement quand je fais AppActivate elle passe en arrière plan. Parler de tout ça sur MSN serait peut-être plus ergonomique, non? Si possible...
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 4 déc. 2004 à 22:25
0
Merci
comme tu veux, regarde dans ta boîte

Daniel

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.