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
このスクリプトを便利なフォルダに保存し、[すべてのプログラム]メニューにショートカットを作成します。
Target:%systemroot%\ system32\windowspowershell\v1.0\powershell.exe -ExecutionPolicy RemoteSigned -File "C:\ Path To Script\CentreCursor.ps1"
ショートカットキー: Ctrl + Alt + Shift + C
実行:最小化
押すたびに Ctrl+Alt+Shift+C、カーソルがホームに戻ります。
編集:これは私のコンピュータでは必須ではないようですが、ショートカットにPatrickの提案を追加しました。
「CTRLキーを押したときにポインタの位置を表示する」をオンにすることは、1つのオプションです。これは、ペイントブラシなどのアプリケーションで見づらいカスタムマウスポインターに変更されている場合に特に便利です。
ltraMon と呼ばれるソフトウェアプログラムでこれをかなり簡単に行うことができます。
オプションセクションには、ホットキーを指定する場所があります。 Crtl + Shift + Cのホットキーを設定したスクリーンショットを見ることができます
次の AutoHotkey コマンドシーケンスは、マウスを即座にプライマリディスプレイの中心に移動します。
CoordMode, Mouse, Screen
MouseMove, A_ScreenWidth/2, A_ScreenHeight/2, 0
たとえば、 compile 次のスクリプト:
CoordMode, Mouse, Screen
MouseMove, A_ScreenWidth/2, A_ScreenHeight/2, 0
ExitApp
次に、ショートカット(.lnk
)に、選択したショートカットキーを付けます。 :)
これを行うための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>)
したがって、少し試行錯誤(および基本的な計算)を実行すると、マウスポインターを中央に配置するスクリプトが得られます。
別のAutoItプログラム:
<!-- --!>
;;; 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
Nir SoferによるNircmdには、次のオプションがあります。
nircmd setcursor x y
このコマンドラインへのショートカットを作成して、任意のホットキーを割り当てることができます。 nircmd.chmファイルで詳しく説明されているように、マウスカーソルには他にも多くのオプションがあります。