GetAsyncKeyState

Résolu
cs_moi4975 Messages postés 109 Date d'inscription lundi 27 juin 2005 Statut Membre Dernière intervention 17 juillet 2007 - 16 déc. 2005 à 18:59
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 16 déc. 2005 à 20:52
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

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 33
16 déc. 2005 à 20:52
If GetAsyncKeyState(16) < 0 Then Shift = True Else schift = False

Daniel
3
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
16 déc. 2005 à 19:51
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)
0
cs_moi4975 Messages postés 109 Date d'inscription lundi 27 juin 2005 Statut Membre Dernière intervention 17 juillet 2007
16 déc. 2005 à 20:01
non ca ne marche pas j'ai déjà essayer ! Merci quand meme !
0