Hook d'une combinaison clavier + souris
Bonsoir/Bonjour à tous! :)
Je tente de créer un raccourci clavier comprenant la molette de la souris + la touche ALT de mon clavier (pour switch de fond d'écran une fois sur le bureau ^^).
Voici mon hook (fonctionnel) pour la molette:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| public static int MouseHookProc(int nCode, IntPtr wParam, IntPtr lParam)
{
int wParamValue = wParam.ToInt32();
if(wParamValue == (int)522) //Wheel
{
//Marshall the data from the callback.
MSLLHOOKSTRUCT MyTagMSLLHOOKSTRUCT = (MSLLHOOKSTRUCT)Marshal.PtrToStructure(lParam, typeof(MSLLHOOKSTRUCT));
if (MyTagMSLLHOOKSTRUCT.MouseData > 0) //up
{
}
else //and......down u_u
{
}
}
return CallNextHookEx(hHook, nCode, wParam, lParam);
} |
Je mets le hook en place avec ceci:
Code:
1 2 3 4 5 6 7 8 9 10
|
MouseHookProcedure = new HookProc(Form1.MouseHookProc);
SetWindowsHookEx(WH_MOUSE_LL,
MouseHookProcedure,
(IntPtr)0,
0);
//Pre: HookProc et MouseHookProcedure sont déclarés plus haut tel que:
//public delegate int HookProc(int nCode, IntPtr wParam, IntPtr lParam);
//HookProc MouseHookProcedure; |
C'est peut-être la fatigue mais je ne parviens pas à vérifier si la touche alt est enfoncée au moment de l'évenement...
Si quelqu'un a une idée je suis preneur !
Merci de m'avoir lu!