évènement clavier pour un service windows

Signaler
Messages postés
20
Date d'inscription
lundi 9 octobre 2006
Statut
Membre
Dernière intervention
30 novembre 2008
-
Messages postés
20
Date d'inscription
lundi 9 octobre 2006
Statut
Membre
Dernière intervention
30 novembre 2008
-
Bonjour, j'ai un souci pour transformer mon application en service Windows. En fait je bloque que sur un truc, dans mon application j'utilisais l'évènement :

Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress

pour récupérer les touches pressées, mais bon c'était donc lié à ma forme principale, là vu que je me lance dans les services windows j'ai donc pas de form et donc je sais pas comment récupérer cet évènement ! Avez vous une lumière à me montrer s'il vous plait?

4 réponses

Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
22
Bonjour,
Si tu n'as plus de form, alors pourquoi vouloir continuer de récupèrer les touches préssées dessus ?

++
Messages postés
20
Date d'inscription
lundi 9 octobre 2006
Statut
Membre
Dernière intervention
30 novembre 2008

bah en fait je n'ai trouvé que cet évènement pour récupérer une touche pressées, malheuresement c'était lié à la form (enfin ça me convenait très bien pour l'application mais pour le service ça m'arrange plus du tout vu qu'il n'y a plus de form). Et donc je voulais savoir si il y avait un évènement qui récupère la touche pressée sans que ce soit liée à une form, juste "comme ça dans le vide" lol . Merci
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
22
Tu peux installer un hook sur le clavier (méthodes SetWindowsHookEx, CallNextHookEx et UnhookWindowsHookEx).
Regarde cet article http://www.developer.com/net/net/article.php/11087_2193301_3 il montre comment installer un hook clavier sur une application windows form. Pour un service le principe reste le même.

++
Messages postés
20
Date d'inscription
lundi 9 octobre 2006
Statut
Membre
Dernière intervention
30 novembre 2008

merci de la réponse, j'ai pris le temps de regarder, essayé de comprendre. Donc si j'ai bien compris un hook clavier permet de bloquer des touches (et débloquer évidemment) du clavier grâce à l'API "user32" si j'ai bien compris. Cependant comment SetWindowsHookEx et UnWindowsHookEx peuvent m'aider? La source est un peu compliquée pour moi ^^ ! Je me suis aussi aperçu que win32 avait cette fonction : GetAsyncKeyState(), n'y a t'il pas moyen d'en faire quelque chose? Je suis désolé de pas comprendre lol pouvait vous un peu m'aiguiller (sans me piquer), sans faire le travail à ma place évidemment! Merci