2

С настройкой 4 мониторов, которую я использую, одной из ловушек является то, что я трачу много времени, перемещая курсор мыши по 2 или более экранам одновременно.

Я хотел бы программный продукт для WinXP, который, когда окно получает фокус, если мышь еще не находится в этом окне, перемещает мышь к центру этого окна.

Есть идеи?

5 ответов5

4

Редактировать: более простой метод!

AltTab

(Для Windows XP и Vista)

AltTab - это скомпилированный скрипт AutoHotKey, который просто перемещает мышь рядом с источником активного окна, когда вы используете комбинацию клавиш AltTab в Windows, чтобы вывести другое окно на передний план


Трудный путь:

Используйте AutoHotKey для перемещения мыши в центр на Alt+Tab:

~!Tab::
KeyWait, Alt
KeyWait, Tab
WinGetPos, X, Y, width, height, A
center_x:=x+width/2
center_y:=y+height/2
MouseMove,center_x,center_y,
return

Вот и ты, Тиаго ;-)

1

Сценарий AutoHotKey выше не работал для меня, мне пришлось внести некоторые незначительные изменения. MouseMove относится к текущей позиции окна, а не к экрану. Это также не всегда перемещало бы мышь к окну, если оно было свернуто. Я добавил заявление Sleep, чтобы обойти это.

~!Tab::
KeyWait, Alt
KeyWait, Tab
Sleep 300
WinGetPos,,, width, height,A
center_x:=width/2
center_y:=height/2
MouseMove,center_x,center_y
return
0

Единственная известная мне настройка программного обеспечения находится в программном обеспечении Microsoft IntelliMouse, которое позволяет вам сделать кнопку Snap to Default. Это, однако, работает только для диалоговых окон.

Однако я нашел этот взлом реестра, однако сам не пробовал.

  • Начните
  • Бежать
  • Regedit
  • Вносить изменения
  • Выйти из RegEdit
  • перезагружать
Registry Key: HKEY_CURRENT_USER\Control Panel\Mouse
Data Type: REG_DWORD [Dword Value] 
Value Name: ActiveWindowTracking
Setting for Value Data: 
[0 = ActiveWindowTracking Disabled]
[1 = ActiveWindowTracking Enabled]

В качестве альтернативы вы также можете взглянуть на использование AutoHotKey. Это может быть способ сопоставить это с некоторыми записями на форуме, которые я прочитал.

0

Я позволил себе декомпилировать скрипт AltTab.zip @ IvoFlipse, а затем немного его настроить, чтобы переместить мышь в центр окна, вот результат:

; After Alt-Tab, move mouse to center of newly activated window.
;  https://superuser.com/questions/14868/software-to-move-mouse-to-centre-of
;  - updated based on http://www.favessoft.com/AltTab.zip;
;  - modified to try to move to center of window.
~!Tab::
KeyWait, Alt
KeyWait, Tab
WinGetPos,x,y,width,height,A
While (x < 0 Or y < 0)
{
    Sleep,100
    WinGetPos,x,y,width,height,A
    IfGreater,A_Index,2,Break
}
MouseMove,width/2,height/2
return
-1

Он не работает с двумя прикрепленными экранами. Кажется, что сценарий думает, что окно на экране № 2 находится на экране № 1 и перемещает экран в правильное положение, но не на тот экран.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .