-
Check if is KeyDown
Bonjour à tous,
J'aimerais savoir comment réaliser une surveillance sur une touche de mon clavier même si mon application tourne en tache de fond.
Je n'ai pas besoin de créer d'interface pour utiliser mon programme pour le moment.
voilà plus de deux jours que je cherche une solution et je ne trouve rien, si vous pouvez m'aider je vous en remercierai énormément.
J’espère que c'est possible au moins...
-
pour surveiller les évènements clavier, il faut que la fenêtre de ton programme soit à l'avant plan avec le focus. Tu ne peux pas faire une surveillance globale sur tout le système, à moins d'utiliser des librairies natives et d'avoir l'accord de l'os.
-
comment avoir ces librairies alors? et comment avoir l'accord de l'os?
-
ben les librairies natives, elles dépendent de l'OS, l'accord de l'OS, ça dépend de comment il protège le clavier. Bref, ça dépends si tu veux le faire sous windows, linux, mac os x, autre, dans quelle version et ensuite faut se tapper la doc de JNA ou JNI suivant ce que tu vbeux utiliser, la doc de la librairie concernée dans l'OS et mettre tout ça ensemble. Ca dépasse largement le cadre de java.
edit: ou accessoirement, il semble que quelqu'un aie déjà fait tout ce boulot:
https://code.google.com/p/jnativehook/
-
hum ok je pense comprendre,
Je vais t'expliquer mon idée final (on ne sait jamais il y a peut être une solution).
Je voulais faire une redirection rapide vers le site de traduction de google (ça j'ai réussi) et inscrire le presse papier dans le champs pour le traduire (ça j'ai réussi aussi).
Je voulais donc exécuter tout ça avec une touche par exemple.. mais je n'ai l'impression que ça soit possible.. bref je suis triste.
-
Vu que tu es marqué comme étant développeur.NET si tu sais comment faire la partie native (propre à Windows / .NET), tu n'auras plus qu'à coder la partie JNI / JNA pour interfacer cela avec un programme Java. Comme l'indiquait tchize_, cela dépend fortement de la plateforme ciblée ; or Java est conçu pour être le plus multiplateforme et non-dépendant d'une plateforme spécifique donc une partie des chose est abstraite pour une base commune et ce qui n'est pas commun à toutes les plateformes est peu, voir pas du tout, présent. Fait auquel il faut ajouter la nécessité d’être sécurisé et de ne pas permettre à n'importe quel pirate de pondre un key logger pour capturer des mots de passe, numéros de carte de crédit, etc. (ce que tu indiques vouloir faire pour des fins justifiées peut être aisément détourné pour des usages moins légaux).
-
Peut être que tu pourrais essayer avec ceci ? https://github.com/kwhat/jnativehook/releases
Je pense qu'il faut avoir tout de même une interface ouverte mais pas forcement en premier plan ni avec le focus et ca devrait pouvoir fonctionner.
Edit : Apparement l'interface n'est pas obligatoire...
-
Merci wax78 mais j'ai trouvé un truc bien sympa, mais je ne suis pas sur de le placer ici...
Mes intensions ne sont pas malsaine et je suis bien conscient de choses qu'on peut faire avec.
au pire, tu es modérateur, tu pourras supprimer le post si tu le juges trop dangereux =>:)<=