Annuler Action Menu en Hookant

Zootella Messages postés 252 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 5 septembre 2006 - 12 juin 2005 à 17:19
Zootella Messages postés 252 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 5 septembre 2006 - 13 juin 2005 à 15:57
Hello, j'ai cette procédure hook:




LRESULT CALLBACK HookMenuMessage(int nCode, WPARAM wParam, LPARAM lParam)


{


if(nCode == HC_ACTION)


{


MSG * pMSG = (MSG*)lParam;


switch(pMSG->message)


{


case WM_COMMAND:


switch(LOWORD(pMSG->wParam))


{


case 158:


MessageBox(0, "Fonction Retirée!", "...", 0);


goto out:


break;


default:


return FALSE;


}


}


}


return CallNextHookEx(hhk, nCode, wParam, lParam);


out: return 0;


}



goto out; -> donc


return CallNextHookEx(hhk, nCode, wParam, lParam);



n'est pas envoyé mais pourtant l'action se produit quand même après la message box...



Pourquoi ?

6 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 juin 2005 à 21:44
essaie avec
case 158: return 1;

et JAMAIS de MessageBox dans un hook, ici pas trop grave mais y a des hooks avec lesquels tu mettrais le système en péril.

ciao...
BruNews, MVP VC++
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
12 juin 2005 à 21:50
Des MessageBox qui appellent des MessageBox, et ainsi de suite? Ca
m'est arrivé des dizaines de fois, on finit par se retrouver avec une
grosse police noire et moche
0
Zootella Messages postés 252 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 5 septembre 2006
13 juin 2005 à 11:42
Non ça ne marche pas :(





Effectivement les messagebox dans un hook ça fout un bordel! mais seulement si on filtre


pas le message qu'on reçoit. Et oui [auteurdetail.aspx?ID=19734 vecchio56] j'ai éxactement eu la même chose avec un hook WH_CBT sans filtrage!
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 juin 2005 à 12:04
C'est bien un hook WH_MSGFILTER que tu as fait ? devrait aller normalement.

ciao...
BruNews, MVP VC++
0

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

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
13 juin 2005 à 12:08
On dirait que non, etant donné le test if(nCode == HC_ACTION)
0
Zootella Messages postés 252 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 5 septembre 2006
13 juin 2005 à 15:57
Euh, non j'utilise un WH_GETMESSAGE, c'est bien ce hook qui intercépte
les messages de commandes, non ? je me renseigne sur WH_MSGFILTER.
0
Rejoignez-nous