Bonjour,
Je sais que lu comme ça, le titre n'est pas très compréhensible, mais je m'explique :
Quand j'utilise une touche dite "non-ordinaire" (, ; : ! * ù ^$ etc..) le keycode et le keydata avec le .toString() me retournent des chaînes de type "Oem6" "OemPeriod" etc.. (pour la touche espace c'est "Space")
C'est la que ma question devrait s’éclaircir : A partir de ces éléments, en dehors de toute utilisation d’événements, y aurait-il un moyen de passer de "OemQuestion" à 191 par exemple, tout en ayant le caractère ":".
J'aimerai éviter de tout taper en If, ça serait pas mal, il doit bien y avoir une API pour ça ou une fonction, mais si il n'y a pas le choix je le ferai...
Merci par avance.
PS : Une question a part (je pourrai créer un sujet a part si il le faut)
Il y a-t-il moyen de faire la différence entre Shift/Alt/Ctrl Gauche/Droit ?
EDIT :
J'ai enfin trouvé le code pour passer des "OemTruc" à un code touche !
Il me reste le problème de la conversion en un caractère...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Dim kc As KeysConverter = New KeysConverter() Dim o As Object = kc.ConvertFromString("OemPeriod") 'String de la touche en question Dim keyCode As Keys = CType(o, Keys)
J'ai essayé le .ConvertToString() et le ChrW() mais ca me retourne un truc différent de la touche d'origine...
Partager