Valeur intercepté par GetAsyncKeyState [Résolu]

Cjvg 330 Messages postés mercredi 6 décembre 2000Date d'inscription 26 octobre 2017 Dernière intervention - 5 oct. 2008 à 13:01 - Dernière réponse : Cjvg 330 Messages postés mercredi 6 décembre 2000Date d'inscription 26 octobre 2017 Dernière intervention
- 6 oct. 2008 à 11:49
Bonjour,

Sub TimerProc(ByVal Hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long)
    Ret = GetPressedKey
    If Ret <> sOld Then
        sOld = Ret
        sSave = sSave + sOld
Projet1F1.Text2.Text = sSave
    End If
End Sub

'----------------------------------------------------------------------

Function GetPressedKey() As String
    For Cnt = 32 To 256    
        'Get the keystate of a specified key
        If GetAsyncKeyState(Cnt) <> 0 Then
            GetPressedKey = Chr$(Cnt)
            Exit For
        End If
    Next Cnt
End Function
<hr />
   J'utilise les quelques lignes de  codes ci-dessus pour saisir des entrées clavier.
Les caractères interceptés sont ensuite affichés dans une textBox.

Problème: Lorsque je presse sur la touche   $
  , je ne récupère pas le même caractère dans ma textBox.  

Par avance merci pour votre réponse.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Cjvg 330 Messages postés mercredi 6 décembre 2000Date d'inscription 26 octobre 2017 Dernière intervention - 6 oct. 2008 à 11:49
3
Merci
 


Bonjour,


J'ai réussi à trouver une source qui traite ce sujet. Pour récupérer la totalité des lettres, des chiffres, des caractères spéciaux et des pressions exercées sur les autres touches qui ne correspondent pas un caratères (Alt Ctrl ....) il faut utiliser une table de correspondance


A titre d'exemple, les valeurs retournées


- 48 à 57 correspondent au chiffres 0 à 9 (Je simplifie. car il faut tester la touche Shift)


- 96 à 105 correspondent au chiffres 0 à 9 du clavier Numérique


- 65 à 90 correspondent au lettres A à Z (idem à valeur ascii)


- 186 correspond aux caractères £ $ (Je simplifie. car il faut tester également la touche Shift)




Un grand merci à P.Barrot qui m'a donnée la réponse à ma question avec sa source ci-dessous
http://www.vbfrance.com/article.aspx?ID=8649









Merci également à toi Rvblog pour avoir essayé de me dépanner.

Merci Cjvg 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de Cjvg
rvblog 794 Messages postés vendredi 4 mars 2005Date d'inscription 12 juin 2012 Dernière intervention - 5 oct. 2008 à 22:38
0
Merci
Salut Cjvg,

as-tu vérifié le code que tu reçois dans Cnt? est-ce bien le bon? si oui, vérifies que ta textbox est bien capable d'afficher un "$" et un chr$(36) (il suffirait de lui donner un PasswordChar égal à "$" pour qu'il n'affiche plus les "$").

pas d'autres pistes pour l'instant,
à+

rvblog<sup>n
Je veux ton bien....et je l'aurais....mieux vaut tard...que trop tard!</sup>
Commenter la réponse de rvblog

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.