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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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!