Keypress

tekila_bandita Messages postés 248 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 15 mars 2007 - 7 août 2005 à 11:05
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 - 12 août 2005 à 15:10
(re)SVP: j'aimerais récupérer les les keypress, mais pas dans une form, en general en faite...

merci

9 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
7 août 2005 à 15:45
Salut
C'est la technique utilisée pour les KeyLogger : Cherche ce mot parmi les sources

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
(je
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
8 août 2005 à 02:59
La technique en question c'est d'installer un hook clavier, c'est ce que font la plus part des keyloggers.
0
tekila_bandita Messages postés 248 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 15 mars 2007 33
8 août 2005 à 08:23
Je crois que la source dont tu me parle est :

http://vbfrance.com/code.aspx?ID=3131

je vais me demmerder pour trouver dans le code...

0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
8 août 2005 à 14:54
La source que tu cites utilises un timer, ce n'est pas un hook clavier.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tekila_bandita Messages postés 248 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 15 mars 2007 33
9 août 2005 à 08:45
Est-ce que tu pourrais
m'expliquer ce qu'est un hook clavier, est me dire ou en trouver un
pour que je comprenne le fonctionnement, car je n'ai pas envie e faire
du copier coller...





merci!

0
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
9 août 2005 à 20:13
Violent Ken

Il faut utiliser l'API suivante :



Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer


Keypress détecte une pression de touche quand c'est ta form qui a le focus, alors que cette api détecte la pression d'une touche meme quand on appli n'a pas le focus.
Pour l'exmple, voir une source de keylogger.
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
12 août 2005 à 03:29
Cette fonction est utile mais ce n'est pas un hook, pour être alerté des messages windows du clavier ou de la souris, il faut utiliser les fonctions:

SetWindowsHookEx
UnhookWindowsHookEx
CallNextHookEx

Cherche sur le site avec le mot clé "hook clavier" et verifie que le programme utilise ses fonctions et non un timer.
0
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
12 août 2005 à 09:45
Violent Ken

Il faut utiliser l'api

Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer

et l'utiliser comme suit: si tu veux détecter, par exemple, l'appui sur la touche 'A', tu fait

if GetAsyncKeyState(vbKeyA)<>0 then
'détecté l'appui sur 'A'
end if

ou plus simplement

if GetAsyncKeyState(vbKeyA) then
'détecté l'appui sur 'A'
end if

Les constantes vbKeyA, vbKeyB, .... pour toutes les touches du clavier sont les mêmes que pour l'évênement Keydown (avec Keycode)
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
12 août 2005 à 15:10
Là tu viens de récupérer une seule touche ! Si tu veux savoir qu'elle touche a été appuyée t'es obligé d'appeler la fonction avec les 256 virtual keys dans une boucle et en plus tu devras mettre cette boucle dans un timer ou une boucle principale pour intercepter le moment précis ou l'utilisteur a appuyé sur la touche, alors que le hook clavier ou les hot keys ca t'envoie un message directement avec la touche concernée.
0
Rejoignez-nous