Copier les messages

garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 - 2 oct. 2003 à 08:55
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 2 oct. 2003 à 09:50
Bonjour,

je voudrais que quand on utilise le clavier dans une application donnée, ce soit répercuté dans mon programme.
En gros je voudrais que le même message (clavier) soit envoyé à la fois à Flight Simulator et à mon prog.

J'ai pensé à utiliser un hook mais je ne sais pas comment récupérer le thread de Flight Simulator.

Quelqu'un sait-il comment faire ?

Merci

6 réponses

cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
2 oct. 2003 à 09:17
Salut.

Sous Windows, tu as le choix entre :
- récupérer les messages destinées à ton prog (hook local),
- récupérer les messages destinés à tous les progs (hook global).
Il n'y a pas de juste milieu...

A moins de faire passer ton prog pour un debugger...

Le savoir ne vaut quelque chose que s'il est partagé par tous.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
2 oct. 2003 à 09:23
AttachThreadInput(...); permet un acces au messages queue d'un autre thread.
BruNews, ciao...
0
garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
2 oct. 2003 à 09:23
Là tu m'étonnes !

Dans MSDN:

HHOOK SetWindowsHookEx(
int idHook, // hook type
HOOKPROC lpfn, // hook procedure
HINSTANCE hMod, // handle to application instance
DWORD dwThreadId // thread identifier
);

Donc je suppose que c'est faisable...

Ceci-dit j'ai essayé de prednre le ThreadID avec Spy++ et effectivement ça ne marche qu'avec ma propre appli
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
2 oct. 2003 à 09:27
Nebula ne t'a pas dit infaisable mais GLOBAL pour toutes les progs.
AttachThreadInput(...); contourne cela mais delicat a gerer.
BruNews, ciao...
0

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

Posez votre question
garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
2 oct. 2003 à 09:40
J'avais bien compris...

AttachThreadInput me semble effectivement interessant. Mais je n'arrive pas à en comprendre le mécanisme et les exemples sur le Net sont plutôt rares !

J'arrive effectivement à attacher le processus au mien (AttachThreadInput renvoie TRUE) mais mon hook n'a aucun effet dans l'autre programme!

Tu n'aurais pas un exemple par hasard ?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
2 oct. 2003 à 09:50
Faut boire OU conduire !
AttachThreadInput n'a aucun rapport avec le hook. Il te permet de savoir, entre autre, l'etat des touches dans le thread auquel tu t'attaches. PeekMessage, GetKeyState etc peuvent etre utilises.
Pas le temps d'ecrire des exemples en ce moment, desole.
BruNews, ciao...
0
Rejoignez-nous