From 48a49c8145c2556f9430c257ac33151d98bd46a5 Mon Sep 17 00:00:00 2001 From: Music_Die Date: Mon, 13 Mar 2023 07:58:42 +0000 Subject: [PATCH] =?UTF-8?q?update=20src/Basal/IFox.Basal.Shared/WindowsAPI?= =?UTF-8?q?/MouseHook.cs.=20=E8=A1=A5=E5=85=85wheel=E5=92=8Cmove=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Music_Die --- .../IFox.Basal.Shared/WindowsAPI/MouseHook.cs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/Basal/IFox.Basal.Shared/WindowsAPI/MouseHook.cs b/src/Basal/IFox.Basal.Shared/WindowsAPI/MouseHook.cs index b314318..00781bd 100644 --- a/src/Basal/IFox.Basal.Shared/WindowsAPI/MouseHook.cs +++ b/src/Basal/IFox.Basal.Shared/WindowsAPI/MouseHook.cs @@ -109,6 +109,8 @@ public void SetHook(bool processHook = false) bool _down = false; bool _up = false; bool _ck = false; + bool _wheel = false; + bool _move = false; /// /// 钩子的消息处理 @@ -132,6 +134,8 @@ bool HookTask(int nCode, int wParam, IntPtr lParam) _down = false; _up = false; _ck = false; + _wheel = false; + _move = false; switch ((WM)wParam) { @@ -183,9 +187,11 @@ bool HookTask(int nCode, int wParam, IntPtr lParam) _ck = true; break; case WM.WM_MOUSEWHEEL: + _wheel = true; // 滚轮 break; case WM.WM_MOUSEMOVE: + _move = true; // 移动 // 假设想要限制鼠标在屏幕中的移动区域能够在此处设置 // 后期须要考虑实际的x y的容差 @@ -220,8 +226,14 @@ bool HookTask(int nCode, int wParam, IntPtr lParam) _watch.Start(); } } - MouseMove?.Invoke(this, e); - MouseWheel?.Invoke(this, e); + if (_move) + { + MouseMove?.Invoke(this, e); + } + if (_wheel) + { + MouseWheel?.Invoke(this, e); + } // 屏蔽此输入 if (_isHookBreak) -- Gitee