Accueil > Forum > > > > Combo des touches dans un Hook
Combo des touches dans un Hook
lundi 6 décembre 2004 à 21:35:40 |
Combo des touches dans un Hook

bdkiller
|
Salut, encore moi avec les Hooks xD J'arrive à mettre les hook en place, ca marche, sauf que je sais pas comment faire pour intercepter la combinaison de de touches (Ctrl + 1 par exemple). J'ai ceci comme code: LRESULT __stdcall HookClavier(int nCode, WPARAM wParam, LPARAM lParam) { if(nCode >= 0) { HWND hwamp; hwamp = FindWindow("Notepad", 0);
if(wParam == VK_F8 && (lParam & 0x80000000) { PostMessage(hwamp, WM_KEYDOWN, VK_F5, 0); } } return CallNextHookEx(hHook, nCode, wParam, lParam); }
|
Comment puis-je rajouter une deuxieme touche?
|
|
mardi 7 décembre 2004 à 00:14:27 |
Re : Combo des touches dans un Hook

racpp
|
Salut, Pour tester l'état de la touche Ctrl tu utilises la fonction GetKeyState() comme ceci: | int etat=GetKeyState(VK_CONTROL); |
Cette fonction retourne 0 si aucune des deux touches Ctrl n'est enfoncée. Ainsi, dans ton code tu peux faire: | if(wParam == VK_F8 && GetKeyState(VK_CONTROL) && ..... |
|
|
mardi 7 décembre 2004 à 00:47:18 |
Re : Combo des touches dans un Hook

racpp
|
J'ai oublié de péciser que dans certains cas la fonction GetKeyState() peut retourner une valeur erronée. Pour éviter cela il faut faire: ... && (GetKeyState(VK_CONTROL) & 0x8000) .... comme ça on est sûr que la touche Ctrl est réellement enfoncée. A noter que cette fonction retourne normalement un SHORT mais fonctionne aussi avec un int.
|
|
mardi 7 décembre 2004 à 07:08:13 |
Re : Combo des touches dans un Hook

bdkiller
|
Salut, merci mais c'est déjà testé, ca marche pas.. je viens de faire ca ainsi: if(nCode >= 0) { HWND hwamp; hwamp = FindWindow("Notepad", 0); //si je mets BOOL etat = ... ca revient en meme int etat=GetKeyState(VK_CONTROL);
if(wParam == VK_F8 && (etat & 0x8000) && (lParam & 0x80000000)) { PostMessage(hwamp, WM_KEYDOWN, VK_F5, 0); } } return CallNextHookEx(hHook, nCode, wParam, lParam); }
|
Ce qui est bizarre dans ce cas, c'est qu'il réagi quand j'appuis Alt Gr + F8 ! et il poste deux fois F5 dans notepad !! J'ai testé de faire: | if(wParam == VK_F8 && (GetKeyState(VK_CONTROL) & 0x8000)) |
ca revient en même, marche pas. Note: je suis sous win2k pro, ca peut jouer le role peut-etre? Merci encore
|
|
mardi 7 décembre 2004 à 10:00:11 |
Re : Combo des touches dans un Hook

BruNews
|
Une maniere de tester: if((GetKeyState(VK_CONTROL) >= 0xFFFFFF80) && (wParam == VK_F8))
ciao... BruNews, MVP VC++
|
|
mardi 7 décembre 2004 à 13:57:17 |
Re : Combo des touches dans un Hook

racpp
|
Salut, Voici une petite procédure de hook que je viens de tester avec mon code source : HOOK_GLOBAL_SANS_DLL __declspec(dllexport) LRESULT CALLBACK HookProc ( int nCode, WPARAM wParam, LPARAM lParam) { if (nCode == HC_ACTION) { if (wParam==WM_KEYDOWN) { KBDLLHOOKSTRUCT hookstruct = *((KBDLLHOOKSTRUCT*)lParam); if (hookstruct.vkCode==VK_F8 && (GetKeyState(VK_CONTROL) & 0x8000)) { MessageBox(0,"CTRL+F8","",0); } } } return CallNextHookEx(hHook, nCode, wParam, lParam); }
|
Ca marche justement sur Win2k pro.
|
|
mardi 7 décembre 2004 à 21:06:37 |
Re : Combo des touches dans un Hook

bdkiller
|
racpp je sais pas le mettre en place dans Borland c++ (dans quel evenement OnFormCreate ou ou encore...)
Bru, ca passe pas chez moi! :'(
|
|
mardi 7 décembre 2004 à 21:16:03 |
Re : Combo des touches dans un Hook

BruNews
|
Mais votre Borland, il ne permet pas d'ecrire du vrai code API au lieu de ne faire que de l'interprete avec des OnFormCreate et autres bidules mystiques ? C'est tout de meme + simple quand on est maitre de son code.
ciao... BruNews, MVP VC++
|
|
mardi 7 décembre 2004 à 22:42:25 |
Re : Combo des touches dans un Hook

bdkiller
|
Aucunde idée Bru. Ton code a l'air bon mais passe pas. Si je mets juste : | if(wParam == VK_F8 && (lParam & 0x8000000)) |
la il fait correctement l'envoi de F5 sur notepad, si j'enleves 0x80000000 ca envoit 2 fois de suite F5... et je sais pas pour quelle raison il marche pas avec ton code.
|
|
Cette discussion est classée dans : code, touches, wparam, hook, lparam
Répondre à ce message
Sujets en rapport avec ce message
Hook messages de windows [ par deck_bsd ]
Bonjour a tous,Voila je suis sur le point de finir mon 1er hook, mais voila , il ne fonctionne que une fois. Il intercepte une fois le message voulu (
Hook clavier sous windows [ par gamani5 ]
sltje sais il y a deja beaucoup de tuto sur le sujet mais j en ai lu plein mais j ai toujours un probleme, j arrive a detecter l utilisation d une tou
Hook clavier et fenêtre premier plan [ par krokro6 ]
Salut à tous, j'ai un petit problème avec ce code la : #include #include #include #include using namespace std;#define DLLEXPORT __declsp
HOOK - Help [DevCPP] [ par guitoulefoux ]
Bonjour,J'essaye de faire un hook (mon 1er) mais a chaque fois qu'il se lance j'ai un pb d'affectation mémoire.en fait le HOOK récupère les actions cl
[HOOK]Encore le meme probleme.. [ par bdkiller ]
Salut,Bon, après pas mal d'heures passés là-dessus, j'ai la DLL qui se compile sans erreurs, l'appli principale qui se compile sans erreurs également!
Hook des touches F5 d'une autre appli [ par Kheo ]
Bonjour, Est ce que quelqu'un pourrait me donner quelques infos sur la méthode à employer pour capter des touches dans une autre appli.En fait je veux
MouseHook avec DialogBox [ par mouloudh ]
Bonjour la communauté, Je désespère. Voilà plus d'un mois que je cherchais une solution pour un programme (une souris visuelle qui doit rester toujour
Windows Message OnNotifyIcon [ par unionx ]
bonjourje veux savoir ou je vais trouver la fonction ::OnNotifyIcon(WPARAM wParam, LPARAM lParam) j'ai bien chercher dans la partie ClassWizard et eve
transcodage arabe anglais [ par elmarokinho ]
bonjour, je suis en DUT 2e année ... je dois réaliser un projet pr la mi-mars ;:realisation d'un logiciel de transcodage anglais/arabe ...<br
MouseHook [ par mouloudh ]
Bonjour, J'ai déjà posé une question sur le sujet: comment récupérer le Hook dans une DialogBox, finalement on m'en a déssuadé, et depuis j'ai un peu
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : CXIMAGERE : CXIMAGE par rt15
Cliquez pour lire la suite par rt15 RE : CXIMAGERE : CXIMAGE par ucfoutu
Cliquez pour lire la suite par ucfoutu
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|