Pinvoque a été detecté , que faire

Fermé
yaorens Messages postés 205 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 30 mai 2013 - 18 oct. 2012 à 00:38
ghFrankfurt Messages postés 207 Date d'inscription mardi 16 novembre 2010 Statut Membre Dernière intervention 10 décembre 2014 - 18 oct. 2012 à 16:23
Bonjour,
, je voulais recuperer touches clavier dans un text box , mais quand je co^mpile , voilà , l'erreur
PInvokeStackImbalance a été détecté
Message: Un appel à la fonction PInvoke 'Partie1!Partie1.Form1::GetAsyncKeyState' a déséquilibré la pile. Cela peut se produire, car la signature PInvoke managée ne correspond pas à la signature cible non managée. Vérifiez que la convention d'appel et les paramètres de la signature PInvoke correspondent à la signature non managée cible.

et la partie de mon code concernant la déclaration de ma fonction est :
 Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Long


et mon code :
 Dim Retour As Long
        Retour = GetAsyncKeyState(65)   'a
        If (Retour And 32768) <> 0 Then
            MsgBox("sa pass")
        End If

Pourriez vous m'aider '? langage vb.net'

1 réponse

ghFrankfurt Messages postés 207 Date d'inscription mardi 16 novembre 2010 Statut Membre Dernière intervention 10 décembre 2014 23
18 oct. 2012 à 16:23
Bonjour,

Je ne comprend pas pourquoi il y a "And 32768"
Essayez plutôt de cette manière :

If (Retour <> 0) Then
...
0