2010-06-16 92 views
3

我運行雙顯示器設置。讓鼠標指針做一個超跳?

從監視器1到2(反之亦然)需要大量不必要的鼠標移動。

我的想法是利用一個額外的鼠標鍵(我有兩個),並有鼠標超躍(道歉星際迷航)從XY監視器1座標相同的XY顯示器上的座標2.

我會如何去做這件事?

是否可以通過C#完成?

+1

+1在標題中使用超跳。這當然讓我看到了這個問題 – RichK 2010-06-16 13:06:35

回答

5

對於座標,兩臺顯示器粘在一起作爲一個大的區域。

使用Screen.AllScreens陣列,您可以檢查兩個屏幕的工作區域,並通過設置Cursor.Position可以移動鼠標。

2

要在C#中這樣做,我會設置一個系統範圍爲hot key。然後,如deltreme所說,使用Cursor.Position將光標移動到您想要的位置時,按下該熱鍵。

您可以採用的另一種途徑是使用諸如AutoHotkeyAutoIt之類的語言。

下面是AutoIt的一個示例腳本,使光標跳到屏幕監控主體的左邊:

HotKeySet("{F6}", "Jump") 

While True 
WEnd 

Func Jump() 
    MouseMove(-500, 500, 0) 
EndFunc 
2

您將需要設置一個WH_MOUSE_LL鼠標鉤子與調用SetWindowsHookEx(),這樣就可以監視鼠標消息,而不管哪個程序具有焦點。示例C#代碼是available here。擴展MouseMessages聲明以添加爲額外的鼠標消息生成的消息。中鍵按下消息是0x207,X按鈕是0x20b。您可能需要嘗試一下才能看到爲您的鼠標實際生成的消息。

從那裏,只需通過指定Cursor.Position屬性來跳轉光標。屏幕類爲您提供了屏幕的位置。不要購買第三臺顯示器。