我運行雙顯示器設置。讓鼠標指針做一個超跳?
從監視器1到2(反之亦然)需要大量不必要的鼠標移動。
我的想法是利用一個額外的鼠標鍵(我有兩個),並有鼠標超躍(道歉星際迷航)從XY監視器1座標相同的XY顯示器上的座標2.
我會如何去做這件事?
是否可以通過C#完成?
我運行雙顯示器設置。讓鼠標指針做一個超跳?
從監視器1到2(反之亦然)需要大量不必要的鼠標移動。
我的想法是利用一個額外的鼠標鍵(我有兩個),並有鼠標超躍(道歉星際迷航)從XY監視器1座標相同的XY顯示器上的座標2.
我會如何去做這件事?
是否可以通過C#完成?
對於座標,兩臺顯示器粘在一起作爲一個大的區域。
使用Screen.AllScreens
陣列,您可以檢查兩個屏幕的工作區域,並通過設置Cursor.Position
可以移動鼠標。
要在C#中這樣做,我會設置一個系統範圍爲hot key。然後,如deltreme所說,使用Cursor.Position將光標移動到您想要的位置時,按下該熱鍵。
您可以採用的另一種途徑是使用諸如AutoHotkey或AutoIt之類的語言。
下面是AutoIt的一個示例腳本,使光標跳到屏幕監控主體的左邊:
HotKeySet("{F6}", "Jump")
While True
WEnd
Func Jump()
MouseMove(-500, 500, 0)
EndFunc
您將需要設置一個WH_MOUSE_LL鼠標鉤子與調用SetWindowsHookEx(),這樣就可以監視鼠標消息,而不管哪個程序具有焦點。示例C#代碼是available here。擴展MouseMessages聲明以添加爲額外的鼠標消息生成的消息。中鍵按下消息是0x207,X按鈕是0x20b。您可能需要嘗試一下才能看到爲您的鼠標實際生成的消息。
從那裏,只需通過指定Cursor.Position屬性來跳轉光標。屏幕類爲您提供了屏幕的位置。不要購買第三臺顯示器。
+1在標題中使用超跳。這當然讓我看到了這個問題 – RichK 2010-06-16 13:06:35