我有一个小视频应用程序,我想给类似vlc的功能。由此,我的意思是让某个元素消失并出现在鼠标移动或鼠标不移动的位置。我对如何做到这一点有一个粗略的概念,但我没有ideea如何检测鼠标是否在移动。我想过使用GetPosition函数,但这只会给我鼠标的位置,不会让我知道光标是否在移动。我想用一个计时器在鼠标停止移动后的2-3秒内倒计时,然后淡出控制系统或使其崩溃。我无法每隔1毫秒检查一次位置变量的值。有没有其他方法可以做到这一点?如何检测鼠标是否在WPF/C#中的窗口范围内移动?
回答
你可以使用挂钩功能,所以你会通知当鼠标移动时,我使用this免费开源库。
如何使用它:
using Gma.UserActivityMonitor.GlobalEventProvider;
GlobalEventProvider _globalEventProvider1 = new Gma.UserActivityMonitor.GlobalEventProvider();
this.globalEventProvider1.MouseMove += HookMouseMove;//to listen to mouse move
捕获鼠标。如果用户实际在其他地方点击,则释放捕获。然后你可以使用标准的WPF鼠标移动事件。
myElement.MouseMove += (my MouseMove handler)
Mouse.Capture(myElement);
我不认为捕捉鼠标是必要的,即使鼠标移动到某个其他元素上,如“MediaElement”等,PreviewMouseMove仍然会到达“Window”。或者还有其他一些情况我不考虑在这里吗? –
如果你没有完成应用程序,它不会。我使用捕获,因为例如用户从应用程序中拖出一个选择。 –
好的,你说得对。在这种情况下,我认为你也可以在'Window'上使用'MouseEnter' /'MouseLeave'事件。 –
- 1. 如何测试鼠标是否在指定窗口内?
- 2. 检测鼠标是否在5秒内移动的功能
- 3. 如何检测mouseup被触发时鼠标是否在移动?
- 4. 检测鼠标点击可移动范围瓦片
- 5. WPF - 如何检测鼠标是否停止移动
- 6. 如何检测鼠标是否移动到某个窗口的JavaScript/Jquery坐标上?
- 7. 检测用户是否在WPF中移动了窗口
- 8. gmail如何检测鼠标移动?
- 9. 如何在鼠标左键按下时检测鼠标移动?
- 10. WPF检测鼠标移动?
- 11. 如何检测对象是否在“使用”范围内?
- 12. 如何隐藏在gvim窗口中移动鼠标指针
- 13. 在鼠标悬停,检测元素是否在窗口的右边缘,并将元素移动 - jQuery
- 14. 如何检测窗口是否闪烁
- 15. 检测鼠标离开pygtk窗口
- 16. 检测鼠标何时不移动
- 17. jQuery/Javascript检查鼠标是否在窗口中
- 18. 如何在相机上检测移动鼠标的动作
- 19. 如何仅在窗口范围内显示弹出窗口?
- 20. yii检测范围是否在使用
- 21. 如何在标签内点击鼠标时移动窗体? C#
- 22. 我想在鼠标移动事件中检测鼠标右键或鼠标键是否关闭
- 23. 如何检查变量是否在范围内或在C++中
- 24. 检测鼠标移动的顺序
- 25. 如何检测你是否在你的手指内移动ImageView
- 26. 如何检测鼠标是否在picturebox中的图像?
- 27. 检测窗口是否是可可中的关键窗口
- 28. Python PyQt:如何使用鼠标在窗口上移动窗口小部件?
- 29. 将鼠标悬停在某个窗口内的事件y范围
- 30. 如何检测鼠标是否在整个窗体和子控件中?
感谢您的链接和库。会尝试一下,让你知道,但我不想用钩子,除非作为最后的手段。 – lorddarq
我将使用这个开源库。这似乎是2的方式。 – lorddarq
是的,它值得。但是请注意,如果您只想为应用程序挂钩而不是整个系统,则应该将使用WH_MOUSE_LL的行更改为WH_MOUSE,将WH_KEYBOARD_LL更改为WH_KEYBOARD,我记得它们只是一对图书馆中的线条。 –