|
Comment intercepter l'appui de touches au niveau système |
|
Stagiaire WDF ![](http://old.wdforge.org/uploads/rank3e84154a75422.gif)
Inscrit: 03/07/2008 16:33
Post(s): 13
|
Bonjour,
Je cherche a faire une sorte de keylistenner qui me permettrai de saisir des informations dans 2 fenêtres simultanéement et aussi de les stocker dans un fichier texte. Mais mon probleme est surtout l'interception des appuis de touches ... Actuellement j'utilise ca : API("User32", "SetWindowsHookExA", VH_KEYBOARD, &MonTraitement, Instance(), 0)
// -- avec comme procedure PROCEDURE MonTraitement(IDHook est un entier, wParam est un entier, lParam est un entier)
Mais a priori wParam et lParam ne me renvoi pas d'information sur la touche appelée mais le statut WM_KEYDOWN et WM_KEYUP
Pouvez me dire comment deployer ceci, et si oui le formalisme adéquat dans windev12 (RegisterHotkey peux être ?)
Merci d'avance
Contribution le : 03/07/2008 16:47
|
|
|
Re: Comment intercepter l'appui de touches au niveau système |
|
ChefDeProjet WDF ![](http://old.wdforge.org/uploads/rank3e8415f93aaa0.gif)
Inscrit: 29/05/2007 17:03
De Sassenage
Post(s): 180
|
il existe un exemple HOTKEY (de memoire) dans windev qui fait ca il me semble
Contribution le : 09/07/2008 14:33
|
_________________
be aware
|
|
Re: Comment intercepter l'appui de touches au niveau système |
|
Stagiaire WDF ![](http://old.wdforge.org/uploads/rank3e84154a75422.gif)
Inscrit: 03/07/2008 16:33
Post(s): 13
|
Oui, mais ce n'est pas mon application Windev qui aura le focus, mais deux logiciels tierces ... donc je pense que la seule solution c'est d'intercepter les appels systeme :(
Contribution le : 10/07/2008 10:58
|
|
|
Re: Comment intercepter l'appui de touches au niveau système [Résolu] |
|
Stagiaire WDF ![](http://old.wdforge.org/uploads/rank3e84154a75422.gif)
Inscrit: 03/07/2008 16:33
Post(s): 13
|
Merci Asthroth, tu avais raison, une fois le hook en place, windev gère lui meme les interpretations de parametres :)
PROCEDURE Procédure_Hook(ncode, wParam, lParam) nCaractTouche est un entier
// Sur touche enfoncé uniquement SI wParam <> WM_KEYDOWN ALORS RENVOYER API("user32","CallNextHookEx",gnHandleHook, ncode, wParam, lParam) FIN
Transfert(&nCaractTouche,lParam,4)
--> nCaractTouche contient a ce moment le code de la touche enfoncée
// Renvoie la suite du hook afin de permettre le traitement de l'appui par la fenetre d'origine RENVOYER API("user32","CallNextHookEx",gnHandleHook, ncode, wParam, lParam)
Contribution le : 11/07/2008 14:17
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.