Récupérer les touches du clavier

javadev1 Messages postés 7 Date d'inscription vendredi 28 septembre 2007 Statut Membre Dernière intervention 27 février 2008 - 26 nov. 2007 à 11:14
 Utilisateur anonyme - 29 nov. 2007 à 13:22
salut
je suis débutant en java, ça fait un bon moment que je cherche le moyen de récupérer les touches saisis par l'utilisateur depuis le démarrage d'un système d'exploitation. j'ai déjà trouvé une source écrite en vb mais je sais pas comment on peut le faire en java. je sais comment récupérer les touches sous linux, je me demande s'il y a un code java portable valable pour tous les systèmes d'exploitation. vous comprenez surement ce que j'ai en téte !
j'aimerai trouver le moyen de le faire en java que ce soit sous windows et surtout sous linux. si vous connaissez la réponde n'hésitez pas à la communiquer je vous promets que je vais rester sage.

4 réponses

Utilisateur anonyme
29 nov. 2007 à 13:12
Utilise l'interface KeyListener. Implémente ses méthodes. Place ton propre KeyListener sur le composant qui reçoit les événements liés au clavier. Va voir dans le package java.awt.event.

Par exemple, tu peux faire :

class Test{

public static void main(String[] args){
Frame maFenetre = new Frame("ma fenetre de test");
maFenetre.setSize(100,100);
maFenetre.addKeyListener(new KeyAdapter(){
        public void keyPressed(KeyEvent ke){
               System.out.println("touche : "+ke.getKeyChar());
        }
});
maFenetre.setVisible(true);
}
}

Apprends à regarder dans l'API Java : http://java.sun.com/javase/6/docs/api/
Java est un langage portable donc c'est presque un pléonasme de dire "un code java portable valable pour tous les systèmes d'exploitations"; le cas où certains comportements sont propres à chaque système en Java est plutôt exceptionnel.

Encore une fois, je le dis tout le temps, tant pis, évite les fautes d'orthographe.

Enfin, ce que tu essaies de faire, ça s'appelle un key logger. Il y a plein d'exemples sur internet. Je ne crois pas que faire un key logger soit très sage. Si tu fais ça, c'est pour t'en servir. Pour info, ça m'étonnerait que tu trouves un moyen de placer ton key logger sur une machine distante sous Linux et que tu puisses le lancer.

TUER : http://membres.lycos.fr/javalution/tuer.php

yeah! vive java
0
Utilisateur anonyme
29 nov. 2007 à 13:17
De plus, il faut que tu arrives à enregistrer les frappes à l'écran sans consommer les événements, sinon c'est pas discret du tout. Sous windows, tu peux utiliser un keyboard hook en passant par les DLL. Tu peux détecter le système d'exploitation et utiliser des programmes compilés, écrire un keyboard hook en C, le lancer depuis ton programme Java.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
Utilisateur anonyme
29 nov. 2007 à 13:21
Tu peux aussi utiliser un GlassPane je crois et forwarder les événements. C'est discret, invisible. Si tu étends le GlassPane sur tout l'écran, tu captes tout. Par contre, pour le forward, je ne sais pas comment faire.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
Utilisateur anonyme
29 nov. 2007 à 13:22
Tu peux aussi t'inspirer de Trojan écrit en J2ME. Va sur google...

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
Rejoignez-nous