Existe-t-il un raccourci Win7 pour positionner la souris au centre de l'écran principal?

25

J'ai un moniteur à trois installé sur Windows 7 et je perd parfois la trace de l'endroit où se trouve mon curseur. Existe-t-il un raccourci Windows pour réinitialiser la position de la souris? Je suppose qu'il n'y en a pas, mais pourrait-il y avoir un moyen de configurer une macro simple que je pourrais lier à une combinaison de touches pour placer mon curseur sur un emplacement par défaut, tel que le centre de l'affichage principal?

tehDorf
la source
6
Je pourrais vous écrire un programme qui fait cela lorsque vous cliquez - mais vous devrez trouver le curseur de la souris et le déplacer vers l'icône du programme pour cliquer. :-(
Dave Becker
1
@DaveBecker, que diriez-vous d'un programme qui l'exécute? Ensuite, vous pouvez le lancer avec une touche de raccourci.
Hand-E-Food
1
Personnellement, je pense que tout le monde devrait activer le curseur de position sur le bouton par défaut. Tout le monde cherche toujours la fenêtre du programme d' abord , puis pense à déplacer le curseur sur tel. Je pense également que tout le monde devrait changer son schéma de curseur en un curseur extra large noir, car il y a une invasion de fonds blancs / de couleur claire.
surfasb le

Réponses:

27

En combinant quelques-unes des idées ci-dessus, j'ai trouvé ce script. Il est testé et fonctionne.

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

Enregistrez ce script dans un dossier pratique et créez un raccourci dans votre menu Tous les programmes:

Cible: % systemroot% \ system32 \ windowspowershell \ v1.0 \ powershell.exe -ExecutionPolicy RemoteSigned -File "C: \ Path To Script \ CentreCursor.ps1"

Touche de raccourci: Ctrl + Alt + Maj + C

Exécuter: minimisé

Maintenant, chaque fois que vous appuyez sur Ctrl+ Alt+ Shift+ C, votre curseur revient à la maison.

Edit: Bien que cela ne semble pas être une exigence sur mon ordinateur, j'ai ajouté la suggestion de Patrick au raccourci.

Hand-E-Food
la source
3
Les scripts PowerShell nécessitent que la stratégie d'exécution soit modifiée, si vous ne l'avez pas déjà fait. Vous devez le modifier définitivement ou exécuter PowerShell.exe avec l'argument "-ExecutionPolicy RemoteSigned".
Patrick Seymour
@ Hand-E-Food Vous devez avoir changé la politique d'exécution sur votre machine ou quelque chose parce que je n'ai pas pu obtenir que votre réponse fonctionne comme écrite. J'ai dû changer la cible en % systemroot% \ system32 \ windowspowershell \ v1.0 \ powershell.exe -ExecutionPolicy RemoteSigned "C: \ PathToScript \ CentreCursor.ps1" pour le faire fonctionner. J'ai réordonné les arguments, la commande de Patrick devait venir avant le dossier. J'ai mis à jour votre réponse pour refléter cela.
tehDorf
Oh oui. Merci @ Hand-E-Food et tous ceux qui ont répondu ont été combinés dans celui-ci!
tehDorf
Heureux de vous aider! Cela m'a appris quelque chose de nouveau. (Et "centre" est une orthographe parfaitement acceptable en dehors des États-Unis.) ;-)
Hand-E-Food
Pour info, Windows 10 n'accepterait pas un chemin avec des espaces et% systemroot% n'est pas défini. J'ai dû exécuter la commande dans le répertoire avec le fichier et l'exécuter en tant que C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe -ExecutionPolicy RemoteSigned. \ CenterCursor.ps1
simpleuser
13

Activer "Afficher l'emplacement du pointeur lorsque j'appuie sur la touche CTRL" est une option. Cela est particulièrement utile s'il est actuellement modifié en un pointeur de souris personnalisé par une application, comme un pinceau, qui est plus difficile à voir.

entrez la description de l'image ici

Brian
la source
2
Pointer Trails est également très utile, constitue une cible beaucoup plus grande à voir lorsque vous faites bouger la souris.
Scott Chamberlain
8

Vous pouvez le faire assez facilement avec un logiciel appelé UltraMon .

Dans la section des options, il y a un endroit pour spécifier les HotKeys. Vous pouvez voir une capture d'écran où j'ai configuré une touche de raccourci pour Crtl + Maj + C

entrez la description de l'image ici

quickcel
la source
1
Ça a l'air bien, mais 40 $ US, c'est un peu trop si c'est tout ce qu'un utilisateur veut faire.
Brian
Ce n'est pas GRATUIT, pouvez-vous partager des outils GRATUITS aussi.
YumYumYum
+1 Dans mon entreprise, il y a Ultramon installé sur chaque ordinateur par défaut, tout déjà plusieurs de mes collègues vous en doivent un (livré par moi) :)
Pavel
7

La séquence de commandes AutoHotkey suivante déplace instantanément la souris au centre de l'affichage principal:

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

Par exemple, compilez le script suivant:

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

Vous pouvez ensuite lui créer un raccourci ( .lnk) avec une touche de raccourci de votre choix. :)

iglvzx
la source
3

Voici un script AutoIt pour le faire. AutoIt peut compiler ses scripts en .exe, que vous pourriez ensuite attribuer un raccourci clavier.

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
la source
1

L'utilisation de WMIC et de Powershell (qui devraient tous deux déjà être installés sous Windows 7) devrait être réalisable.

En utilisant WMIC, vous pouvez obtenir la largeur et la hauteur de l'écran:

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

et Powershell peut définir la position de la souris (en remplaçant <X>et <Y>avec les coordonnées réelles):

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

Ainsi, un petit essai et erreur (et mathématiques de base) devrait vous donner un script qui, une fois exécuté, centre le pointeur de la souris.

Andrew Lambert
la source
1
Les scripts PowerShell nécessitent que la stratégie d'exécution soit modifiée, si vous ne l'avez pas déjà fait. Vous devez le modifier définitivement ou exécuter PowerShell.exe avec l'argument "-ExecutionPolicy RemoteSigned".
Patrick Seymour
0

Un autre programme 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
mmdemirbas
la source
0

Nircmd par Nir Sofer a l'option suivante.

nircmd setcursor xy

Vous pouvez créer un raccourci vers cette ligne de commande et lui affecter n'importe quel raccourci clavier. Il existe de nombreuses autres options pour le curseur de la souris, comme détaillé dans le fichier nircmd.chm.

user38660
la source
C'est une bonne méthode, sauf qu'elle semble lente (il faut environ 3 secondes pour que Windows l'exécute). Mais ne nécessite pas grand-chose d'autre. J'ai dû utiliser un raccourci élevé pour empêcher la fenêtre de sécurité de Windows.
-1

euh ... je ne pense pas

mais sur la question de trouver votre souris, vous POUVEZ activer le "pointeur sonar" afin que votre pointeur soit affiné lorsque vous appuyez sur la touche de commande. (actuellement sur un Mac, mais je vais essayer d'obtenir des captures d'écran dans un instant et de les modifier)

en ce qui concerne l'idée macro. Je suppose que c'est plausible ... mais je ne connais aucune application qui a déjà cela programmé, ni comment le programmer moi-même

mjrider
la source