Comment se "connecter" au clavier
Skymer
Messages postés
477
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour KX (désolé si vous me répondez et que vous n'êtes pas KX, mais dans la section java il n'y a que lui donc, je ne me fais pas de souci ^^), alors là je bosse sur une appli avec javafx, mais le problème que je rencontre, c'est que je voudrais que une fenêtre s'affiche avec une pression sur Alt + Tab.
Vu que tu me dis que je ne suis jamais assez clair :
Je voudrais savoir comment faire pour que mon programme soit constamment à l'écoute de mon clavier.
PS : il n'y a RIEN à voir avec javafx ... Il faut que la fenêtre dans javafx soit ouverte pour pouvoir "capter" les frappes de clavier ... Comme avec les JFrames d'ailleurs
Skymer
Vu que tu me dis que je ne suis jamais assez clair :
Je voudrais savoir comment faire pour que mon programme soit constamment à l'écoute de mon clavier.
PS : il n'y a RIEN à voir avec javafx ... Il faut que la fenêtre dans javafx soit ouverte pour pouvoir "capter" les frappes de clavier ... Comme avec les JFrames d'ailleurs
Skymer
A voir également:
- Comment se "connecter" au clavier
- Se connecter à gmail sur téléphone - Guide
- Télécharger clavier arabe - Télécharger - Divers Web & Internet
- Comment taper / sur clavier - Guide
- Comment se connecter à chromecast - Guide
- Se connecter à ma boite hotmail - Guide
1 réponse
Bonsoir,
Comme indiqué dans tes précédentes discussions, je n'ai jamais travaillé en JavaFX donc il va falloir te débrouiller avec la documentation, ou laisser un peu de place à d'autres intervenants CCM que tu exclues implicitement en t'adressant directement à moi...
https://docs.oracle.com/javafx/2/events/handlers.htm
Comme indiqué dans tes précédentes discussions, je n'ai jamais travaillé en JavaFX donc il va falloir te débrouiller avec la documentation, ou laisser un peu de place à d'autres intervenants CCM que tu exclues implicitement en t'adressant directement à moi...
https://docs.oracle.com/javafx/2/events/handlers.htm
"PS : il n'y a RIEN à voir avec javafx ... Il faut que la fenêtre dans javafx soit ouverte pour pouvoir "capter" les frappes de clavier ... Comme avec les JFrames d'ailleurs"
Ok, alors mets moi le code avec une JFRAME, j'ai dit que je me FOUTAIS du type de la fenêtre, je te demande comment faire pour que mon programme (en console par exemple) détecte tout le temps les pressions sur les LETTRES de mon CLAVIER, sans passer par une jframe, ni un scanner, vu qu'il faut APPUYER / ÊTRE en RELATION avec un composant graphique pour pouvoir accéder aux lettres tapées.
Merci de votre compréhension, et Get Rekt:)
Je l'ai lu, et n'imposes pas tes conditions quant au traitement de ta question, sinon ça va être vu...
"mon programme (en console par exemple) détecte tout le temps les pressions sur les LETTRES de mon CLAVIER"
C'est impossible, la console n'appartient pas au programme, elle communique par flux (System.in/out/err) avec lui, et ne lui renvoie aucune autre information.
"vu qu'il faut APPUYER / ÊTRE en RELATION avec un composant graphique pour pouvoir accéder aux lettres tapées"
Evidemment, c'est le principe même de la programmation événementielle, cette contrainte est d'ailleurs directement imposée par le système d'exploitation.
"j'ai dit que je me FOUTAIS du type de la fenêtre"
Pourtant chaque technologie est différente. Et si tu relisais à ton tour ma réponse, tu aurais vu le lien sur la documentation officielle avec des codes à l'appui.
Et donc comment les keyloggers fonctionnent (pour exemple, le programme que je veux faire n'a RIEN à voir ....) ?? ? Je crois qu'il faut créer un pilote qui joue le rôle d'intermédiaire entre l'ordinateur et les touches du clavier ce qui permet de les détecter ..
Tu penses que ce serait plus instructif de commencer à apprendre mon deuxième langage de programmation mtn ? (je compte faire : java > C > C++ > HTML > JavaScript.. Pour l'instant, cela te paraît correct ?)
Oui, c'est ça, sauf que Java s'exécute dans une machine virtuelle donc les privilèges accordées au programme Java sont ceux qui ont été eux même accordés par le système d'exploitation à la machine virtuelle, donc on ne peut pas tout faire.
Sauf si... on contourne la machine virtuelle en appelant directement du code système, par exemple accessible via des DLL sous Windows.
J'ai un exemple ici : https://forums.commentcamarche.net/forum/affich-29706599-creer-une-bufferedimage-sur-la-fenetre-active#3
Il s'agissait d'utiliser les fonctionnalités de Windows pour savoir quelle est l'application active (même si ce n'est pas le programme Java) et en faire une impression écran. Avec ce genre de technologie on peut faire une interception des événements Windows par exemple avec Using Keyboard Events (je n'ai pas testé)
Evidemment on n'est plus multiplate-forme, là c'est la méthode pour Windows, ce serait forcément du code très différent pour Linux, Mac etc. Mais c'est possible de rester dans un programme Java quand même.
"plus instructif de commencer à apprendre mon deuxième langage de programmation mtn ? (je compte faire : java > C > C++ > HTML > JavaScript"
Tout dépend tes objectifs en terme de programmation, ce que tu as vu en Java n'est que la partie immergée de l'iceberg, il y a énormément de concepts Java supplémentaire que tu pourrais aussi apprendre, je pense à Java EE et "donc" les applications Java orienté côté serveur et introduire les langages HTML, JavaScript, XML, etc.