Bonjour.

J'ai un probléme en tentant de positionner un hook local.
Ceci ne fonctionne pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
hMouseHook = SetWindowsHookEx(WH_MOUSE, MouseHookProcedure, _
         IntPtr.Zero, System.Threading.Thread.CurrentThread.ManagedThreadId)
nota : idem avec AppDomain.GetCurrentThreadId, que l'on soit dans un DLL ou pas
Le hMouseHook est à 0 mais Err.LastDllError rend 0 également.
J'ai tenté de le mettre dans la class qui l'utilise, ou pas, dans le même module ou pas, en spécifiant le HINSTANCE via un Marshal.GetHINSTANCE(Reflection.Assembly.GetExecutingAssembly().GetModules()(0))...

C'est incompréhensible, le tout marchant correctement en global avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
hMouseHook = SetWindowsHookEx(WH_MOUSE, MouseHookProcedure, _
         IntPtr.Zero, 0)
C'est vrai qu'un hook local on peut le faire via le prefilter, mais si quelqu'un a une idée sur le pourquoi de ce dysfonctionnement...

Cdt.