Windows 7에 3 대의 모니터가 설치되어 있고 커서 위치를 추적하지 못하는 경우가 있습니다. 마우스 위치를 재설정하는 Windows 바로 가기가 있습니까? 나는 추측하지 않지만 간단한 매크로를 설정하여 키 조합에 바인딩하여 커서를 기본 디스플레이의 중심과 같은 기본 위치로 설정할 수 있습니까?
Windows 7에 3 대의 모니터가 설치되어 있고 커서 위치를 추적하지 못하는 경우가 있습니다. 마우스 위치를 재설정하는 Windows 바로 가기가 있습니까? 나는 추측하지 않지만 간단한 매크로를 설정하여 키 조합에 바인딩하여 커서를 기본 디스플레이의 중심과 같은 기본 위치로 설정할 수 있습니까?
답변:
위의 몇 가지 아이디어를 결합 하여이 스크립트를 생각해 냈습니다. 테스트되고 작동합니다.
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-파일 "C : \ Path To Script \ CentreCursor.ps1"
바로 가기 키 : Ctrl + Alt + Shift + C
실행 : 최소화
이제 Ctrl+ Alt+ Shift+ 를 누를 때마다 C커서가 집으로 돌아갑니다.
편집 : 내 컴퓨터에서는 요구 사항이 아닌 것처럼 보이지만 바로 가기에 Patrick의 제안을 추가했습니다.
"CTRL 키를 눌렀을 때 포인터 위치 표시"를 켜는 것이 하나의 옵션입니다. 페인트 브러시와 같이보기 어려운 응용 프로그램에서 현재 사용자 지정 마우스 포인터로 변경 한 경우 특히 유용합니다.
이를 수행하는 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))
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>)
따라서 약간의 시행 착오 (및 기본 수학)를 실행하면 마우스 포인터를 중앙에 배치하는 스크립트가 제공됩니다.
다른 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