簡體   English   中英

在多顯示器環境中包裝鼠標

[英]Mouse Wrapping in Multi-Monitor Environments

我對此進行了大量研究。 有些程序(例如Mousinity)允許“鼠標包裹”。 如果您用另一術語知道它,那就是當鼠標指針離開屏幕的一側並出現在屏幕的另一側時。

但是,所有執行此操作的程序都未能在其功能列表中包含一個關鍵要素:多監視器設置。 我厭倦了下載一個完全陌生的軟件,只是不想讓它與我的設置一起使用。

這個問題的煩惱是:

是否可以通過Windows的某種API調用來控制鼠標指針的行為? 編輯:更具體地說,API如何處理多個監視器? 坐標平面的原點在哪里?

雖然我確實知道這會復雜得多,但是這是我要執行的操作的偽代碼:

if (mouse_position == side_of_screen_of_monitor1 && Mouse_is_being_moved off screen)
{    
    mouse_position == opposite_side_of_screen_of_monitor2
}

原點是主顯示器的左上角。 如果您將監視器放置在主監視器的左側,則該監視器上的x坐標將為負。 如果監視器在主監視器之上或部分在主監視器之上,則它們的y坐標在該區域為負。

GetSystemMetrics還具有僅引用多監視器系統的常量。 SM_XVIRTUALSCREEN和SM_YVIRTUALSCREEN標識虛擬屏幕的左上角,SM_CXVIRTUALSCREEN和SM_CYVIRTUALSCREEN是虛擬屏幕的垂直和水平尺寸

有關更多信息,請參見此處:

對於您的任務,我認為您可能只需要考慮虛擬屏幕坐標。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM