Probleme dans mon hook clavier

Signaler
Messages postés
539
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
14 juillet 2010
-
Messages postés
539
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
14 juillet 2010
-
je me suis po embeter j'ai pris le code de brunews a ce sujet

j'aimerai faire un hook kan on appuie a la fois sur la touche windows et un ctrl...

j'ai ca..

LRESULT CALLBACK kbdWinAmp(int nCode, WPARAM wParam, LPARAM lParam) {
if(nCode >= 0) {
// je fais avec ClassName = Notepad
HWND hwamp;
/*if(cond==true) {if(wParam == VK_CONTROL )MessageBox(0,"capture",0,0);cond=false;goto ici;}
if(wParam == VK_LWIN ) {cond=true; goto defRet;}
ici:*/
if(wParam != VK_LWIN & VK_CONTROL ) goto defRet;
//if(lParam & 0x80000000) goto defRet; // 1 SEULE FOIS
// if(hwamp = FindWindow("Notepad", 0)) PostMessage(hwamp, WM_KEYDOWN, VK_F5, 0);
MessageBox(0,"capture",0,0);
}
defRet:
return CallNextHookEx(hhk, nCode, wParam, lParam);
}

extern "C" int __stdcall Intercepte()
{
if(!hhk) hhk = SetWindowsHookEx(WH_KEYBOARD, kbdWinAmp, thismod, 0);
return (int) hhk;
}

extern "C" void __stdcall Relache()
{
if(hhk) {UnhookWindowsHookEx(hhk); hhk = 0;}
}

mon probleme viens du wParam ... il peut pas contenir a la fois
VK_LWIN & VK_CONTROL car il fo k'il appel le callnexthook

j'ai pas encore de solution merci pour votre aide

8 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Verifie le VK_CONTROL avec GetAsyncKeyState().

ciao...
BruNews, MVP VC++
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Avec GetKeyState() ira bon.

ciao...
BruNews, MVP VC++
Messages postés
539
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
14 juillet 2010
1
de ce genre la??
if(wParam != VK_LWIN & GetKeyState(VK_LCONTROL) )
youpi :)
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
MSDN donne clairement le retour de GetKeyState(), faudrait voir a lire un peu.

ciao...
BruNews, MVP VC++
Messages postés
539
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
14 juillet 2010
1
je sais, je sais...

et d'une je comprend pas tres bien l'anglais et de deux j'ai du mal a cerné

If the high-order bit is 1, the key is down; otherwise, it is up.

moi de ce ke je comprend de msdn avec GetKeyState, c ke par exemple tu appuie une fois sur GetKeyState on va dire k'il up, jusk'a la prochaine fois ou tu appuis dessus.

moi c ke je cherche c a faire button windows + control

je comprend ke ca t'enerve car j'ai vu ke sur ce sujet tu as repondu plein de fois,

je c pas pourkoi, j'arrive a capter VK_LWIN et VK_CONTROL
mais pas moyen de capter les deux en meme temps

bon bah je v cherché mais ca fais deja un bout de temps ke je suis dessus
youpi :)
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Alors on reprend:
If the high-order bit is 1 ??? OUATE ISIS comme on dit en egypte, ben qu'on peut considerer le resultat comme < 0, non ???

ciao...
BruNews, MVP VC++
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
youpiyoyo > Je vais déposer un source sur le hook des combinaison de touches au cours de cette semaine. J'espère que cà t'intéressera.
A bientôt.
Messages postés
539
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
14 juillet 2010
1
ecoute racpp, j'ai reussi mon hook, mais merci
youpi :)