Se connecter / S'enregistrer
Votre question

[VB] GetAsyncKeyState Espace

Tags :
  • Programmation
Dernière réponse : dans Programmation
3 Décembre 2008 12:58:00

Pourquoi quand je tape :
Citation :
keystate = GetAsyncKeyState(System.Windows.Forms.Keys.Space)
If (keystate And &H1S) = &H1S Then
ShowMain() 'show this prog at x,y
Exit Sub
End If


Et quand j'appuye sur espace, rien n'est detecté ?

Autres pages sur : getasynckeystate espace

a c 232 L Programmation
3 Décembre 2008 17:23:35

Salut,

Tu as essayé avec VK_SPACE au lieu de System.Windows.Forms.Keys.Space.

Et que représente &H1S ? Es-tu sûr qu'il est nécessaire dans ta condition ?
3 Décembre 2008 17:29:27

J'ai tout esseayé, le &H1S j'ai lu ca dans une doc... et ca marche pour tous les boutons !
3 Décembre 2008 17:45:48

Le Exit Sub est la pour qu'il ne fasse pas les IF suivants.

PS: Oui je me suis servi de ce lien.

EDIT:C'est vraiment bizzar que cela ne marche pas ...
a c 232 L Programmation
3 Décembre 2008 19:01:50

tu fais des exit sub avec les autres aussi je suppose donc ?!
dans ce cas, je ne vois pas trop ce qui ne va pas !
Tu pourrais essayer de mettre un Messagebox au moment où il entre dans le If pour voir s'il rentre déjà
3 Décembre 2008 19:04:53

D'où l'utilité de "ShowMain() 'show this prog at x,y"... qui n'est pourtant jamais executé.
a b L Programmation
3 Décembre 2008 19:31:47

C'est juste l'espace ou toutes les touches ?
Et est-ce que tu as le problème avec Entrée ou Echap ?
3 Décembre 2008 20:47:24

J'ai pas testé avec entrée ou echap, mais les autres touches marchent tres bien !
a b L Programmation
4 Décembre 2008 20:25:52

Oui, mais avec cette fonction, tu as une sur-couche OS.
Si l'évènement clavier est détourné, c'est mort. ;) 
4 Décembre 2008 22:05:46

Bouhouuuu .... comment faire alors ?
a b L Programmation
5 Décembre 2008 00:22:32

En cherchant qui supprime l'évènement (c'est pour ça que je te demandait si le comportement était le même avec Entrée et Echap).
Après, je ne sais pas ce que tu veux faire, alors je ne peux pas t'aider plus.
5 Décembre 2008 14:50:57

CRicky a dit :
En cherchant qui supprime l'évènement (c'est pour ça que je te demandait si le comportement était le même avec Entrée et Echap).
Après, je ne sais pas ce que tu veux faire, alors je ne peux pas t'aider plus.


Non, je n'arrive pas non plus a obtenir ni Echape ni Entrée, ni touches directionnelles d'ailleur.

Je veux faire un menu deroulant d'autoremplissage pour IE mais comme je n'arrive pas à le placer sous la textbox qui a le focus je me suis dis que je ferais tout simplement une fenetre top most qui va capter les touches, et si l'on appuye sur entrée, espace ou Tab le texte s'efface de la memoire, puis on reccommence a capter les touches.
Les touches sont captées pour permettre d'obtenir le mot qui correspond le plus à la chaine renterée.

Merci d'avance.
a b L Programmation
5 Décembre 2008 19:45:07

Pour les touches, ton appli détourne bien ces évènements.
8 Décembre 2008 20:04:41

Non justement, j'utilise GetAsyncKeyState pour ne pas perturber le flux
Puis pour "coller" le mot choisis, je voulais simuler :
[SHIFT]+[ORIGINE] puis [DEL] puis les caractéres du mot un à un.
a b L Programmation
8 Décembre 2008 20:57:56

Tu ne perturbes pas le flux, mais tu travaille sur les évènement windows pas sur le microcontrôleur du clavier. Des traitements se font entre les deux.
8 Décembre 2008 21:35:17

ok. Et je fais quoi du coup ?
Est-ce-qu'il y a moyen de recuperer ces touches ????
a b L Programmation
9 Décembre 2008 20:22:56

en VB, je ne sais pas.
10 Décembre 2008 23:43:00

Tadaaaaaaaaaaa !

Voici la reponse :
  1. If GetKeyState(System.Windows.Forms.Keys.Down) < 0 Then
  2. ShowMain() 'show this prog at x,y
  3. Exit Sub
  4. End If


Merci, merci !
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS