Voila mon petit problème:
Je sais écouté les événements du clavier, mais uniquement lorsque je suis sur la fenêtre du programme.
Mais mon programme doit pouvoir récupérer les évènements du clavier même quand il est exécuté en arrière plan.
Ce que je voudrais savoir c'est comment écouter ces évènements là?
Merci beaucoup des réponses que vous pouvez m'apporter a ce sujet.
Mes amitiés.
Si tu as quelqu'un a espionner, sois franc avec lui, regarde le droit dans les yeux, et dit lui de te parler...
Parce que programmer ce que tu veux faire n'est en général pas pour une utilisation tres catholique
Si tu as quelqu'un a espionner, sois franc avec lui, regarde le droit dans les yeux, et dit lui de te parler...
Parce que programmer ce que tu veux faire n'est en général pas pour une utilisation tres catholique
N'importe quoi ...
Ce que veut faire herudo, c'est juste que son programme réponde a son clavier même s'il n'est pas au premier plan.
Je ne vois pas pourquoi tu parles d'espionnage ...
--
Sinon je ne vois pas comment faire ce que tu recherches ...
Et j'avoue même ne pas savoir si cela est envisageable.
leonsulivan a bien compris ce que je veux faire, et l'utilisation est tout à fais conforme a la loi et je n'espionne personne . Ce n'est pas un virus ou un trojan^^. Je souhaite juste configurer une touche pour permettre de stopper mon programme. C'est une boucle infinie qui doit s'arrêter a l'appuie sur cette touche préalablement définie.
Je sais que c'est possible, j'ai des programme qui utilise cette fonctionnalité. Si seulement je pouvais accéder aux codes sources ça me simplifierais la vie.
[...] Je souhaite juste configurer une touche pour permettre de stopper mon programme.C'est une boucle infinie qui doit s'arrêter a l'appuie sur cette touche préalablement définie. [...]
Bon j'imagine que tu as déjà réfléchi à la question, mais pourquoi as tu besoin que le programme puisse se quitter même s'il n'est pas au premier plan ?
Cela ne sait-il pas suffisant de juste ajouter une condition à la boucle ?
( un booléen initialisé à faux qui passerait a vrai si la touche Échappe a été appuyée durant la boucle )
Ca depend du systeme visé. Sous windows, tu as plusieurs moyen de recuperer des appuis hors-focus, soit les hooks system-wide (mais c'est tres bourrin ici), soit les hotkeys, plutot adapté dans le cas present.
Le principe etant d'enregistrer une combinaison de touche par RegisterHotKey, et tu recevras les appuis de cette combinaison par une notif WM_HOTKEY.
Merci de vos réponses. Je vais me pencher sur les hotkeys voir ce que je peux trouver.
pour leonsulivan, j'ai bien un booléen en condition de sortie de boucle qui change d'état à l'appuie sur ma touche, mais mon problème est pour détecté cet événement.
Comme mon programme agis sur une autre fenêtre, celui ci n'est jamais en premier plan.
Je vais chercher un peu de doc sur les hotkeys car je suis bien sur windows (vista).
Si jamais quelqu'un passe par là et a un bon tuto je suis preneur :D.
pour leonsulivan, j'ai bien un booléen en condition de sortie de boucle qui change d'état à l'appuie sur ma touche, mais mon problème est pour détecté cet événement.
Comme mon programme agis sur une autre fenêtre, celui ci n'est jamais en premier plan.
Je me doutais bien que tu avait déjà réfléchi à la question et que tu ne venais pas demander quelque chose qui ne t'était pas nécessaire, mais bon on ne sais jamais
J'ai bien trouvé quelques chose qui pourrait être solution de mon problème mais je n'arrive pas a m'en servir :D.
c'est OnShortCut(), qui permet de récupérer les évènements avant qu'ils soient envoyé aux applications:
Citation : Description
__property TShortCutEvent OnShortCut;
Utilisez l'événement OnShortCut pour distribuer les frappes de raccourcis clavier avant qu'ils ne soient gérés par la fiche ou ses contrôles. Quand l'utilisateur appuie sur une touche, l'application a l'opportunité de la distribuer comme touche de raccourci au lieu du traitement standard des frappes de touches (OnKeyDown, OnKeyPress et OnKeyUp). Le traitement prédéfini des raccourcis est défini pour les raccourcis de menu et les actions associées à la fiche. OnShortCut permet à la fiche de définir d'autres raccourcis.
Si le gestionnaire d'événement OnShortCut implémente une réponse pour la frappe d'une touche, initialisez le paramètre Handled à true. Cela empêche la transmission de la frappe de touche aux menus ou actions associés à l'application. Cela empêche aussi le traitement de frappe de touche standard, de la même manière qu'un raccourci d'action ou de menu.
Remarque: Appelez la méthode CancelDispatch à partir d'un gestionnaire d'événement OnShortCut pour éviter que l'application n'envoie l'événement à n'importe quel autre objet d'événements d'application.
Mon problème réside principalement sur le fais que je ne sais pas quoi inclure .
Si quelqu'un sais comment s'en servir, il est le bienvenue.
Les hotkeys n'ont rien à voir ici
Utiliser les hooks du RIT (voir chez les pros du forum fr.comp.os.ms-windows.programmation, où tous les hooks ont été détaillés depuis les années 90)
Nous voyons bien la différence entre Magma : un des gars que je préfère lire sur ce forum, avec toujours des exemples sympa, et Georges, avec ses discours rabaissants, qui ne nous a jamais rien prouvé au niveau compétence.
On a les deux extrèmes la : le gars super fort et utile, et le gros boulet inutile. Un beau contraste.
Mmm... petite question HS (ie : j'ai rien compris, lol), y a t il un rapport entre apalet et georges (à part la même façon de répondre) ?
" .... La reponse à cette question à deja etait donné donné 8192 fois depuis 200 ans, sur le NG fr.comp.leetonly.touslesdeveloppeursfontdesapplisbancaires ....
C'est un monde ca ! Mort aux bibliotheques et aux moyens simples !"
Mon bot georges marche à la perfection. Prochaine release, les insultes ! =D
Un merci particulier a magma pour le code de sa fonction. Je voudrais juste avoir quelques précisions, afin de comprendre ce que je fais si ça ne vous dérange pas :D.
déjà dans la déclaration de la fonction si quelqu'un pouvais m'expliquer tout ça
int WINAPI WinMain(HINSTANCE a, HINSTANCE b, LPSTR c, int d)
ensuite j'aperçois une boucle et là je crois que je mélange un peu:
la boucle va s'arrêter lorsque Ctrl + Shift + Q seront appuiés. Mais dois-je insérer le code mon programme dans cette boucle afin qu'il s'exécute jusqu'à ce que les touches soient saisies??
Si tu as quelqu'un a espionner, sois franc avec lui, regarde le droit dans les yeux, et dit lui de te parler... Parce que programmer ce que tu veux faire n'est en général pas pour une utilisation tres catholique
N'importe quoi ...
Ce que veut faire herudo, c'est juste que son programme réponde a son clavier même s'il n'est pas au premier plan.
Je ne vois pas pourquoi tu parles d'espionnage ...
--
Sinon je ne vois pas comment faire ce que tu recherches ... Et j'avoue même ne pas savoir si cela est envisageable.
Si on peut faire un keylogger un enregistrer de frapp en arrière plan et on envoi tout les touche frapper dans le .txt a chaque démarage de session a son email ça permet d'espioner
@Tina-13 Bonsoir, merci de ne pas squatter le sujet des autres et de ne pas répondre dans une citation (on ne sais plus qui dit quoi), créer votre propre sujet dans le respect des règles du forum à savoir qu'un message commence par des règles de politesses (Un bonjour ou des salutations à la communauté et se termine par des remerciements par avances pour les futures réponses), la description de votre problème et le code que vous avez écrit inséré sur le forum à l'aide de l'outil d'intégration de code soit le bouton code </>.
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html