GetAsyncKeyState [Résolu]

Signaler
Messages postés
109
Date d'inscription
lundi 27 juin 2005
Statut
Membre
Dernière intervention
17 juillet 2007
-
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
-
salut a tous,

voila en fait ce n'est pas un probleme que je vais vous posez pcq j'ai la solution ! mais voila j'utilise l'api GetAsyncKeyState pour tester si la touche SHIFT est enfoncée !

Quand j'utilise ce code:

lbl1.caption =GetAsyncKeyState(16)

le label = -32767

mais quand j'utilise ce code:
If GetAsyncKeyState(16) -32767 Then Shift True Else schift = False

ca ne fonctionne pas, je suis obliger d'utiliser celui ci
If GetAsyncKeyState(16) -32768 Then Shift True Else schift = False

qui saurait me dire pourquoi ?

3 réponses

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
29
If GetAsyncKeyState(16) < 0 Then Shift = True Else schift = False

Daniel
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 82 internautes nous ont dit merci ce mois-ci

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
Salut
Utilise plutôt GetKeyState :
Cette fonction te renverra True si le Shift est enfoncé :


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

Function ToucheShiftEnfoncée() As Boolean
If GetKeyState(VK_SHIFT) = -127 Or _
GetKeyState(VK_SHIFT) = -128 Then
ToucheShiftEnfoncée = True
Else
ToucheShiftEnfoncée = False
End If
End Function

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
Messages postés
109
Date d'inscription
lundi 27 juin 2005
Statut
Membre
Dernière intervention
17 juillet 2007

non ca ne marche pas j'ai déjà essayer ! Merci quand meme !