Existe um atalho do Win7 para posicionar o mouse no centro da tela principal?


25

Eu tenho um monitor de três configurado no Windows 7 e às vezes perco o controle de onde está meu cursor. Existe algum atalho do Windows para redefinir a posição do mouse? Suponho que não exista, mas pode haver uma maneira de configurar uma macro simples que eu poderia vincular a uma combinação de teclas para definir meu cursor para um local padrão, como o centro da tela principal?


6
Eu poderia escrever um programa que faça isso quando você clicar - mas você teria que encontrar o cursor do mouse e movê-lo para o ícone do programa para clicar. :-(
Dave Becker

1
@DaveBecker, que tal um programa que ele executa? Então você pode iniciá-lo com uma tecla de atalho.
Mão-E-Comida

1
Pessoalmente, acho que todos devem ativar o cursor de posição no botão padrão. Todo mundo sempre procura primeiro a janela do programa e depois pensa em mover o cursor para tal. Também acredito que todos devem mudar seu esquema de cursor para o cursor Extra Large Black, pois há uma praga de fundos brancos / de cores claras.
surfasb 31/01

Respostas:


27

Combinando algumas das idéias acima, criei esse script. Está testado e funcionando.

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

Salve este script em uma pasta conveniente e crie um atalho no menu Todos os Programas:

Destino: % systemroot% \ system32 \ windowspowershell \ v1.0 \ powershell.exe -ExecutionPolicy RemoteSigned -File "C: \ Caminho para script \ CentreCursor.ps1"

Tecla de atalho: Ctrl + Alt + Shift + C

Execução: Minimizado

Agora, sempre que você pressionar Ctrl+ Alt+ Shift+ C, seu cursor retornará para casa.

Edit: Embora não pareça ser um requisito no meu computador, adicionei a sugestão de Patrick ao atalho.


3
Os scripts do PowerShell exigem que a política de execução seja alterada, se você ainda não o fez. Você precisaria alterá-lo permanentemente ou executar o PowerShell.exe com o argumento "-ExecutionPolicy RemoteSigned".
Patrick Seymour

@ Hand-E-Food Você deve ter alterado a política de execução em sua máquina ou algo assim porque não consegui que sua resposta funcionasse como estava escrita. Eu tive que alterar o destino para % systemroot% \ system32 \ windowspowershell \ v1.0 \ powershell.exe -ExecutionPolicy RemoteSigned "C: \ PathToScript \ CentreCursor.ps1" para fazê-lo funcionar. Reordenei os argumentos, o comando de Patrick tinha que vir antes do arquivo. Atualizei sua resposta para refletir isso.
TehDorf

Oh sim. Obrigado @ Hand-E-Food e todos os outros que responderam juntos!
TehDorf

Feliz em ajudar! Isso me ensinou algo novo. (E "centro" está fora de ortografia perfeitamente aceitável dos EUA.) ;-)
Mão-E-Food

FYI, o Windows 10 não aceitaria um caminho com espaços e% systemroot% não está definido. Eu tive que executar o comando no diretório com o arquivo e executá-lo como C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe -ExecutionPolicy RemoteSigned. \ CenterCursor.ps1
simpleuser

13

Ativar "Mostrar localização do ponteiro quando pressiono a tecla CTRL" é uma opção. Isso é especialmente útil se atualmente for alterado para algum ponteiro do mouse personalizado por um aplicativo, como um pincel, que é mais difícil de ver.

insira a descrição da imagem aqui


2
Trilhas de ponteiro também é muito útil, faz um alvo muito maior para ver quando você move o mouse.
Scott Chamberlain

8

Você pode fazer isso facilmente com um programa de software chamado UltraMon .

Na seção de opções, há um lugar para especificar as Teclas de Atalho. Você pode ver a captura de tela onde eu configurei uma tecla de acesso para Crtl + Shift + C

insira a descrição da imagem aqui


1
Parece bom, mas US $ 40US é um pouco demais se isso é tudo que um usuário deseja fazer.
Brian

Não é GRÁTIS, você também pode compartilhar ferramentas GRÁTIS.
YumYumYum

+1 Na minha empresa, há Ultramon instalado em cada computador por padrão, qualquer já muitos dos meus colegas de trabalho lhe devo um para este (entregue por mim) :)
Pavel

7

A seguinte sequência de comandos da AutoHotkey moverá instantaneamente o mouse para o centro da exibição principal:

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

Por exemplo, compile o seguinte script:

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

Você pode criar um atalho ( .lnk) com uma tecla de atalho de sua escolha. :)


3

Aqui está um script AutoIt para fazer isso. O AutoIt pode compilar seus scripts para .exe, que você poderá atribuir uma tecla de atalho.

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

1

Usando o WMIC e o Powershell (ambos já devem estar instalados no Windows 7), isso deve ser possível.

Usando o WMIC, você pode obter a largura e a altura da tela:

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

e o PowerShell pode definir a posição do mouse (substituindo <X>e <Y>pelas coordenadas reais):

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

Portanto, um pouco de tentativa e erro (e matemática básica) deve fornecer um script que, quando executado, centraliza o ponteiro do mouse.


1
Os scripts do PowerShell exigem que a política de execução seja alterada, se você ainda não o fez. Você precisaria alterá-lo permanentemente ou executar o PowerShell.exe com o argumento "-ExecutionPolicy RemoteSigned".
Patrick Seymour

0

Outro programa 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

0

Nircmd de Nir Sofer tem a seguinte opção ..

nircmd setcursor xy

Você pode criar um atalho para esta linha de comando e atribuir qualquer tecla de atalho. Existem muitas outras opções para o cursor do mouse, conforme detalhado no arquivo nircmd.chm.


Este é um bom método, exceto que parece lento (leva cerca de 3 segundos para o Windows executá-lo). Mas não requer muito mais. Eu tive que usar o atalho elevar para evitar o pop-up de segurança do Windows.

-1

uhh ... acho que não

mas na questão de encontrar o mouse, você PODE ativar o "sonar do ponteiro" para que o ponteiro seja aperfeiçoado quando você pressionar a tecla Control. (atualmente em um Mac, mas tentarei obter capturas de tela em um momento e editá-las)

em relação à ideia macro. Eu acho que é plausível ... mas eu não conheço nenhum aplicativo que já tenha esse programa, ou como programar isso sozinho

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.