Gibt es eine Win7-Verknüpfung, um die Maus in der Mitte des Hauptbildschirms zu positionieren?

25

Ich habe einen Drei-Monitor unter Windows 7 eingerichtet und verliere manchmal den Überblick, wo sich mein Cursor befindet. Gibt es eine Windows-Verknüpfung zum Zurücksetzen der Mausposition? Ich vermute, es gibt keine Möglichkeit, ein einfaches Makro einzurichten, das ich an eine Tastenkombination binden könnte, um meinen Cursor auf eine Standardposition wie die Mitte der Primäranzeige zu setzen.

derDorf
quelle
6
Ich könnte Ihnen ein Programm schreiben, das dies tut, wenn Sie klicken - aber Sie müssten den Mauszeiger finden und ihn auf das Programmsymbol bewegen, um darauf zu klicken. :-(
Dave Becker
1
@ DaveBecker, wie wäre es mit einem Programm, das es ausführt? Dann können Sie es mit einer Tastenkombination starten.
Hand-E-Food am
1
Ich persönlich denke, jeder sollte den Positionscursor auf die Standardschaltfläche stellen. Jeder sucht immer nach dem Programmfenster zuerst , denkt dann über die Cursor auf solche zu bewegen. Ich bin auch der Meinung, dass jeder sein Cursor-Schema auf den extra großen schwarzen Cursor ändern sollte, da es eine Plage von weißen / hellen Hintergründen gibt.
Surfasb

Antworten:

27

Ich habe einige der oben genannten Ideen kombiniert und mir dieses Skript ausgedacht. Es ist getestet und funktioniert.

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

Speichern Sie dieses Skript in einem praktischen Ordner und erstellen Sie eine Verknüpfung in Ihrem Menü Alle Programme:

Ziel: % systemroot% \ system32 \ windowspowershell \ v1.0 \ powershell.exe -ExecutionPolicy RemoteSigned -Datei "C: \ Pfad zum Skript \ CentreCursor.ps1"

Tastenkürzel: Strg + Alt + Umschalt + C

Run: Minimiert

Wenn Sie jetzt Ctrl+ Alt+ Shift+ drücken C, kehrt der Cursor nach Hause zurück.

Bearbeiten: Während es keine Anforderung auf meinem Computer zu sein scheint, habe ich Patricks Vorschlag zur Verknüpfung hinzugefügt.

Hand-E-Food
quelle
3
Für PowerShell-Skripte muss die Ausführungsrichtlinie geändert werden, sofern dies noch nicht geschehen ist. Sie müssen es dauerhaft ändern oder PowerShell.exe mit dem Argument "-ExecutionPolicy RemoteSigned" ausführen.
Patrick Seymour
@ Hand-E-Food Sie müssen die Ausführungsrichtlinie auf Ihrem Computer oder etwas anderem geändert haben, da ich nicht in der Lage war, Ihre Antwort so zu bearbeiten, wie sie geschrieben wurde. Ich musste das Ziel in % systemroot% \ system32 \ windowspowershell \ v1.0 \ powershell.exe -ExecutionPolicy RemoteSigned "C: \ PathToScript \ CentreCursor.ps1" ändern , damit es funktioniert. Ich ordnete die Argumente neu, Patricks Befehl musste vor die Akte kommen. Ich habe Ihre Antwort aktualisiert, um dies widerzuspiegeln.
TehDorf
Oh ja. Vielen Dank an Hand-E-Food und alle anderen, die diese Frage beantwortet haben!
TehDorf
Froh, dass ich Helfen kann! Es hat mir etwas Neues beigebracht. (Und "center" ist außerhalb der USA durchaus akzeptabel.) ;-)
Hand-E-Food
Zu Ihrer Information, Windows 10 akzeptiert keinen Pfad mit Leerzeichen, und% systemroot% ist nicht festgelegt. Ich musste den Befehl im Verzeichnis mit der Datei ausführen und als C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe -ExecutionPolicy RemoteSigned. \ CenterCursor.ps1
simpleuser
13

Das Aktivieren von "Zeigerposition anzeigen, wenn ich die STRG-Taste drücke" ist eine Option. Dies ist besonders dann nützlich, wenn eine Anwendung, z. B. ein Pinsel, derzeit einen benutzerdefinierten Mauszeiger verwendet, der schwerer zu erkennen ist.

Bildbeschreibung hier eingeben

Brian
quelle
2
Zeigerspuren sind auch sehr hilfreich, da sie ein viel größeres Ziel darstellen, wenn Sie mit der Maus wackeln.
Scott Chamberlain
8

Sie können dies ziemlich einfach mit einem Softwareprogramm namens UltraMon tun .

Im Optionsbereich können Sie HotKeys angeben. Sie können einen Screenshot sehen, in dem ich eine Tastenkombination für Strg + Umschalt + C eingerichtet habe

Bildbeschreibung hier eingeben

quickcel
quelle
1
Sieht gut aus, aber 40 US-Dollar sind ein bisschen viel, wenn dies alles ist, was ein Benutzer tun möchte.
Brian
Es ist nicht KOSTENLOS, können Sie auch KOSTENLOSE Tools teilen.
YumYumYum
+1 In meinem Unternehmen ist standardmäßig Ultramon auf jedem Computer installiert. Viele meiner Kollegen schulden Ihnen bereits einen (von mir gelieferten) dafür :)
Pavel
7

Die folgende AutoHotkey- Befehlssequenz bewegt die Maus sofort in die Mitte der Primäranzeige:

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

Kompilieren Sie beispielsweise das folgende Skript:

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

Sie können dann eine Verknüpfung ( .lnk) mit einer Tastenkombination Ihrer Wahl erstellen . :)

iglvzx
quelle
3

Hier ist ein AutoIt-Skript, um dies zu tun. AutoIt kann seine Skripte zu .exe kompilieren, denen Sie dann einen Hotkey zuweisen können.

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))
Patrick Seymour
quelle
1

Mit WMIC und Powershell (beide sollten bereits unter Windows 7 installiert sein) sollte dies möglich sein.

Mit WMIC können Sie die Bildschirmbreite und -höhe ermitteln:

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

und Powershell können die Mausposition festlegen (ersetzen <X>und <Y>mit den tatsächlichen Koordinaten):

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

Ein wenig Ausprobieren (und grundlegende Mathematik) sollte Ihnen also ein Skript geben, das beim Ausführen den Mauszeiger zentriert.

Andrew Lambert
quelle
1
Für PowerShell-Skripte muss die Ausführungsrichtlinie geändert werden, sofern dies noch nicht geschehen ist. Sie müssen es dauerhaft ändern oder PowerShell.exe mit dem Argument "-ExecutionPolicy RemoteSigned" ausführen.
Patrick Seymour
0

Ein anderes AutoIt3- Programm:

<!--  --!>
;;; 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
mmdemirbas
quelle
0

Nircmd von Nir Sofer hat die folgende Option ..

nircmd setcursor xy

Sie können eine Verknüpfung zu dieser Befehlszeile erstellen und ihr einen beliebigen Hotkey zuweisen. Es gibt viele andere Optionen für den Mauszeiger, wie in der Datei nircmd.chm beschrieben.

user38660
quelle
Dies ist eine gute Methode, außer dass sie langsam zu sein scheint (es dauert ungefähr 3 Sekunden, bis Windows sie ausführt). Benötigt aber nicht viel mehr. Ich musste die Tastenkombination "Elevate" verwenden, um das Windows-Sicherheits-Popup zu verhindern.
-1

Ich glaube nicht

Bei der Suche nach Ihrer Maus können Sie jedoch das "Zeigersonar" einschalten, damit der Zeiger beim Drücken der Steuertaste verfeinert wird. (Derzeit auf einem Mac, aber ich werde versuchen, in Kürze Screenshots zu erstellen und sie zu bearbeiten.)

in Bezug auf Makro-Idee. Ich denke, es ist plausibel ... aber ich kenne keine App, die dies bereits programmiert hat, oder wie man dies selbst programmiert

mjrider
quelle