我有一個小視頻應用程序,我想給類似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. 如何測試鼠標是否在指定窗口內?
- 3. 檢查鼠標光標是否在座標數組範圍內
- 4. 檢測鼠標是否在5秒內移動的功能
- 5. 在Skype視頻窗口中檢測鼠標移動和點擊
- 6. 如何檢測mouseup被觸發時鼠標是否在移動?
- 7. 檢查鼠標是否在公差範圍內時出錯
- 8. 檢測鼠標點擊可移動範圍瓦片
- 9. 如何檢測鼠標是否移動到左側或右側?
- 10. WPF - 如何檢測鼠標是否停止移動
- 11. 如何檢查鼠標是否在Chrome的通知窗口?
- 12. 如何檢測鼠標是否移動到某個窗口的JavaScript/Jquery座標上?
- 13. 檢測用戶是否在WPF中移動了窗口
- 14. 如何檢測人造鼠標移動?
- 15. gmail如何檢測鼠標移動?
- 16. 如何在鼠標左鍵按下時檢測鼠標移動?
- 17. WPF檢測鼠標移動?
- 18. MouseHook檢測鼠標移動
- 19. 如何檢查鼠標是否在WPF中移動2分鐘?
- 20. 如何在Jquery中檢測「鼠標滾輪滾動」和「窗口手動滾動」
- 21. 如何檢測對象是否在「使用」範圍內?
- 22. 如何檢測鼠標是否爲真?
- 23. 如何隱藏在gvim窗口中移動鼠標指針
- 24. 如何模擬鼠標同時在多個窗口中移動?
- 25. 如何在後臺窗口中移動鼠標?
- 26. 如何檢測窗口是否閃爍
- 27. 在鼠標懸停,檢測元素是否在窗口的右邊緣,並將元素移動 - jQuery
- 28. 檢測鼠標離開pygtk窗口
- 29. jQuery/Javascript檢查鼠標是否在窗口中
- 30. 檢測鼠標何時不移動
感謝您的鏈接和庫。會嘗試一下,讓你知道,但我不想用鉤子,除非作爲最後的手段。 – lorddarq
我將使用這個開源庫。這似乎是2的方式。 – lorddarq
是的,它值得。但是請注意,如果您只想爲應用程序掛鉤而不是整個系統,則應該將使用WH_MOUSE_LL的行更改爲WH_MOUSE,將WH_KEYBOARD_LL更改爲WH_KEYBOARD,我記得它們只是一對圖書館中的線條。 –