25

Я установил три монитора в Windows 7, и я иногда теряю, где находится мой курсор. Есть ли ярлык Windows для сброса положения мыши? Я предполагаю, что нет, но мог бы быть способ настроить простой макрос, который я мог бы связать с комбинацией клавиш, чтобы установить курсор в положение по умолчанию, такое как центр основного дисплея?

9 ответов9

27

Объединив несколько вышеупомянутых идей, я придумал этот сценарий. Это проверено и работает.

CentreCursor.ps1

[System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") | out-null
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | out-null
$bounds = [System.Windows.Forms.Screen]::PrimaryScreen.Bounds
$center = $bounds.Location
$center.X += $bounds.Width / 2
$center.Y += $bounds.Height / 2
[System.Windows.Forms.Cursor]::Position = $center

Сохраните этот скрипт в удобной папке и создайте ярлык в меню «Все программы»:

Цель: % systemroot%\system32\windowspowershell\v1.0\powershell.exe -ExecutionPolicy RemoteSigned -File "C:\Path To Script\CentreCursor.ps1"

Сочетание клавиш: Ctrl + Alt + Shift + C

Выполнить: свернуто

Теперь всякий раз, когда вы нажимаете Ctrl+Alt+Shift+C, курсор возвращается домой.

Изменить: Хотя это не кажется обязательным для моего компьютера, я добавил предложение Патрика в ярлык.

13

Включение "Показывать местоположение указателя при нажатии клавиши CTRL" является одним из вариантов. Это особенно полезно, если в данный момент приложение, например кисть, меняет его на какой-то пользовательский указатель мыши, который труднее увидеть.

7

Вы можете сделать это довольно легко с помощью программы под названием UltraMon.

В разделе параметров есть место для указания горячих клавиш. Вы можете увидеть скриншот, где я установил горячую клавишу для Crtl + Shift + C

7

Следующая последовательность команд AutoHotkey мгновенно переместит мышь в центр основного дисплея:

CoordMode, Mouse, Screen
MouseMove, A_ScreenWidth/2, A_ScreenHeight/2, 0

Например, скомпилируйте следующий скрипт:

CoordMode, Mouse, Screen
MouseMove, A_ScreenWidth/2, A_ScreenHeight/2, 0
ExitApp

Затем вы можете создать ярлык (.lnk) для него с помощью сочетания клавиш по вашему выбору. :)

3

Вот скрипт AutoIt, чтобы сделать это. AutoIt может скомпилировать свои сценарии в .exe, который затем можно назначить горячей клавише.

Dim Const $SPI_GETWORKAREA = 0x0030

$rect = DllStructCreate("long left;long top;long right;long bottom")

DllCall("user32.dll", "BOOL", "SystemParametersInfo", "UINT", $SPI_GETWORKAREA, "UINT", 0, "ptr", DllStructGetPtr($rect), "UINT", 0)

Dim $left = DllStructGetData($rect, 1)
Dim $top = DllStructGetData($rect, 2)
Dim $right = DllStructGetData($rect, 3)
Dim $bottom = DllStructGetData($rect, 4)

MouseMove($left + (($right - $left) / 2), $top + (($bottom - $top) / 2))
1

Используя WMIC и Powershell (оба из которых уже должны быть установлены под Windows 7), это должно быть выполнимо.

Используя WMIC, вы можете получить ширину и высоту экрана:

C:\>wmic desktopmonitor get screenheight, screenwidth
ScreenHeight  ScreenWidth
900           1440

и Powershell может установить положение мыши (заменив <X> и <Y> фактическими координатами):

PS C:\>[system.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | out-null
PS C:\>[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point(<X>,<Y>)

Итак, небольшая проба и ошибка (и базовая математика) должны дать вам скрипт, который при запуске центрирует указатель мыши.

0

Другая программа AutoIt3 :

<!--  --!>
;;; Define variables according to you
$speed  = 1        ; 0=instantly, 1=fastest, 100=slowest
$delay  = 100      ; milliseconds
$hotkey = "^+!c"   ; ^=Ctrl, +=Shift, !=Alt

;;; Hotkey function
Func GetMyMouse()
    MouseMove(@DesktopWidth / 2, @DesktopHeight / 2, $speed)
EndFunc

;;; Register hotkey
HotKeySet($hotkey, "GetMyMouse")

;;; Program body (busy wait)
While True
    Sleep($delay)
WEnd
0

Nircmd от Nir Sofer имеет следующую опцию.

nircmd setcursor xy

Вы можете создать ярлык для этой командной строки и назначить ей любую горячую клавишу. Есть много других опций для курсора мыши, как описано в файле nircmd.chm.

-1

гм ...Я так не думаю

но в вопросе поиска мыши вы МОЖЕТЕ включить "гидролокатор указателя", чтобы ваш указатель был заточен при нажатии клавиши управления. (в настоящее время на Mac, но я постараюсь получить снимки экрана через мгновение и отредактировать его в)

относительно макро идеи. Я думаю, это правдоподобно ... но я не знаю ни одного приложения, которое уже запрограммировано, или как программировать это сам

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