Un extrait d'un hook que j'avais programmé y'a longtemps et qui marchait parfaitement ( .NET 1.1 )
public static void Install( )
{
if ( hook == IntPtr.Zero )
{
proc = new HookProc( MouseHook.LowLevelMouseProc );
hook = SetWindowsHookEx( WH.MOUSE_LL, proc, Marshal.GetHINSTANCE( typeof( MouseHook ).Module ), 0 );
if ( hook == IntPtr.Zero )
{
throw new System.ComponentModel.Win32Exception( );
}
}
}
public static void Uninstall( )
{
if ( hook != IntPtr.Zero )
{
bool result = UnhookWindowsHookEx( hook );
proc = null;
hook = IntPtr.Zero;
if ( !result )
{
throw new System.ComponentModel.Win32Exception( );
}
}
}