 悬赏园豆:10
                [已关闭问题] 
            
                    关闭于 2020-01-13 14:58
                悬赏园豆:10
                [已关闭问题] 
            
                    关闭于 2020-01-13 14:58
                 
        我有个困惑已久的问题想请您帮我看下,这段程序是低级鼠标钩子(WH_MOUSE_LL)的子程程序片段。
问题描述:
如下代码所示:Thread.Sleep(250);return 1;可以阻止消息传递到windows。
而Thread.Sleep(500);return 1;不能阻止消息传递到windows。
    protected override int HookCallbackProcedure(int nCode, int wParam, IntPtr lParam)
    {
        省略代码...
        ...
        if (nCode > -1 && (MouseDown != null || MouseUp != null || MouseMove != null))
        {
            if (MouseDown != null)
                    {
                        
                        //Thread.Sleep(250);   //(250ms代表处理一段逻辑)
                        //return 1;
                        
                        Thread.Sleep(500);     //(500ms代表处理一段逻辑)
                        return 1;
                        
                        //return CallNextHookEx(_handleToHook, nCode, wParam, lParam);
                    }
            
        }
        return CallNextHookEx(_handleToHook, nCode, wParam, lParam);
    }