Чи є ярлик Win7 для позиціонування миші в центрі основного екрана?


25

У мене встановлено три монітора в Windows 7, і я іноді втрачаю інформацію про те, де мій курсор. Чи є ярлик Windows для скидання положення миші? Я здогадуюсь, що немає, але чи може бути спосіб встановити простий макрос, який би я міг прив’язати до комбінації клавіш, щоб встановити мій курсор на місце за замовчуванням, наприклад, на центр основного дисплея?


6
Я можу написати вам програму, яка робить це при натисканні - але вам доведеться знайти курсор миші та перемістити його до піктограми програми, щоб натиснути. :-(
Дейв Бекер

1
@DaveBecker, а як щодо програми, яка робить це при виконанні? Потім ви можете запустити її за допомогою клавіші швидкого доступу.
Hand-E-Food

1
Я особисто думаю, що кожен повинен включити курсор положення до кнопки за замовчуванням. Усі завжди спочатку шукають вікно програми , потім думають про переміщення курсору до такого. Також я вважаю, що кожен повинен змінити свою курсорну схему на курсор Extra Large Black, оскільки існує чума білого / світлого кольору.
серфінг

Відповіді:


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: \ Шлях до сценарію \ CentreCursor.ps1"

Клавіша швидкого доступу: Ctrl + Alt + Shift + C

Виконання: мінімізовано

Тепер, коли ви натискаєте Ctrl+ Alt+ Shift+ C, ваш курсор повернеться додому.

Редагувати: Хоча це здається не обов'язковим для мого комп'ютера, я додав пропозицію Патріка до ярлика.


3
Сценарії PowerShell вимагають змінити політику виконання, якщо ви цього ще не зробили. Вам потрібно буде постійно його змінити або запустити PowerShell.exe за допомогою аргументу "-ExecutionPolicy RemoteSigned".
Патрік Сеймур

@ Hand-E-Food Ви, мабуть, змінили політику виконання на вашій машині або щось подібне, тому що я не зміг отримати вашу відповідь, щоб працювати як написано. Мені довелося змінити ціль на % systemroot% \ system32 \ windowspowershell \ v1.0 \ powershell.exe -ExecutionPolicy RemoteSigned "C: \ PathToScript \ CentreCursor.ps1", щоб змусити її працювати. Я перередагував аргументи, команда Патріка повинна була прийти до файлу. Я оновив вашу відповідь, щоб це відобразити.
tehDorf

О так. Дякую @ Hand-E-Food та всім, хто відповів, було поєднано у цей!
tehDorf

Радий допомогти! Це навчило мене чомусь новому. (І "центр" є цілком прийнятним написанням за межами США.) ;-)
Hand-E-Food

FYI, Windows 10 не прийме шлях з пробілами, і% systemroot% не встановлено. Я повинен був виконати команду в директорії з файлом і запустіть його як C :. \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe -ExecutionPolicy RemoteSigned \ CenterCursor.ps1
simpleuser

13

Якщо ввімкнути "Показати розташування вказівника, коли натискаю клавішу CTRL", це один варіант. Це особливо корисно, якщо в даний час додаток змінено на якийсь спеціальний покажчик миші, наприклад, кисть для фарби, що важче помітити.

введіть тут опис зображення


2
Вказівні стежки також дуже корисні, вони роблять набагато більшу ціль, щоб побачити, коли ви хитаєте мишкою.
Скотт Чемберлен

8

Це можна зробити досить легко за допомогою програмного забезпечення під назвою UltraMon .

У розділі параметрів є місце, щоб вказати HotKeys. Ви можете побачити скріншот, де я встановив гарячу клавішу для Crtl + Shift + C

введіть тут опис зображення


1
Виглядає добре, але $ 40US це трохи більше, якщо це все, що користувач хоче зробити.
Брайан

Це не БЕЗКОШТОВНО, ви можете поділитися БЕЗКОШТОВНИМ інструментами теж.
YumYumYum

+1 У моїй компанії на кожному комп’ютері за замовчуванням встановлено Ultramon, будь-яка вже багато моїх колег за це вам завдячують (доставлено мною) :)
Павло

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>)

Отже, невеликий проб і помилок (і основна математика) повинен дати вам сценарій, який під час запуску зосереджує вказівник миші.


1
Сценарії PowerShell вимагають змінити політику виконання, якщо ви цього ще не зробили. Вам потрібно буде постійно його змінити або запустити PowerShell.exe за допомогою аргументу "-ExecutionPolicy RemoteSigned".
Патрік Сеймур

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.


Це хороший метод, за винятком того, що він повільний (для запуску Windows потрібно близько 3 секунд). Але не потрібно багато іншого. Мені довелося скористатися ярликом elevate, щоб запобігти спливаюче вікно безпеки.

-1

е ... я не думаю, що так

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.