web-dev-qa-db-ja.com

マウスをプライマリ画面の中央に配置するWin7ショートカットはありますか?

Windows 7に3台のモニターをセットアップしていますが、カーソルの位置が分からなくなります。マウスの位置をリセットするWindowsショートカットはありますか?私はそうではないと思いますが、キーの組み合わせにバインドしてカーソルをプライマリディスプレイの中央などのデフォルトの場所に設定できる簡単なマクロを設定する方法はあるでしょうか?

26
tehDorf

上記のアイデアのいくつかを組み合わせて、このスクリプトを思いつきました。テスト済みで動作しています。

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の提案を追加しました。

28
Hand-E-Food

「CTRLキーを押したときにポインタの位置を表示する」をオンにすることは、1つのオプションです。これは、ペイントブラシなどのアプリケーションで見づらいカスタムマウスポインターに変更されている場合に特に便利です。

enter image description here

13
Brian

ltraMon と呼ばれるソフトウェアプログラムでこれをかなり簡単に行うことができます。

オプションセクションには、ホットキーを指定する場所があります。 Crtl + Shift + Cのホットキーを設定したスクリーンショットを見ることができます

enter image description here

8
quickcel

次の 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)に、選択したショートカットキーを付けます。 :)

7
iglvzx

これを行うための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))
3
Patrick Seymour

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
Andrew Lambert

別の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
0
mmdemirbas

Nir SoferによるNircmdには、次のオプションがあります。

nircmd setcursor x y

このコマンドラインへのショートカットを作成して、任意のホットキーを割り当てることができます。 nircmd.chmファイルで詳しく説明されているように、マウスカーソルには他にも多くのオプションがあります。

0
user38660