Necessário Autohotkey para centralizar a janela ativa

4

Estou procurando uma maneira de centralizar a janela ativa na área de trabalho usando o Autohotkyes. Alguém pode me dar um script que eu poderia usar por favor. Obrigado

    
por Carlos 21.03.2012 / 12:17

4 respostas

5

link foi o primeiro resultado no google com a frase "autohotkey center window". Isso pode te ajudar. Veja o script de exemplo.

Exemplo de script

Run, calc.exe
WinWait, Calculator
WinMove, 0, 0 ; Move the window found by WinWait to the upper-left corner of the screen.

SplashTextOn, 400, 300, Clipboard, The clipboard contains:'n%clipboard%
WinMove, Clipboard, , 0, 0 ; Move the splash window to the top left corner. 
Msgbox, Press OK to dismiss the SplashText
SplashTextOff

; The following function centers the specified window on the screen:
CenterWindow(WinTitle)
{
    WinGetPos,,, Width, Height, %WinTitle%
    WinMove, %WinTitle%,, (A_ScreenWidth/2)-(Width/2), (A_ScreenHeight/2)-(Height/2)
}

Personalizado

; The following function centers the specified window on the screen:
CenterWindow(WinTitle)
{
    WinGetPos,,, Width, Height, %WinTitle%
    WinMove, %WinTitle%,, (A_ScreenWidth/2)-(Width/2), (A_ScreenHeight/2)-(Height/2)
    ;Msgbox, Made the Notepad Center?
}

Run, file.exe

CenterWindow("title of file.exe")
    
por 21.03.2012 / 12:23
3

Por simplicidade e adaptabilidade eu criei um script adicional super curto que apenas pega a janela ativa e centraliza, mas também redimensiona com a largura e altura dadas. Isso talvez não seja exatamente o que você pediu, além de estar alguns anos atrasado. Mas, isso é uma coisa sobre o gerenciamento de janelas que eu espero dos SOs em tempos de resoluções acima de FHD. Espero que alguém mais precise disso. hf

; HOTKEYS
#!Up::CenterActiveWindow() ; if win+alt+↑ is pressed

CenterActiveWindow()
{
    windowWidth := A_ScreenWidth * 0.7 ; desired width
    windowHeight := A_ScreenHeight ; desired height
    WinGetTitle, windowName, A
    WinMove, %windowName%, , A_ScreenWidth/2-(windowWidth/2), 0, windowWidth, windowHeight
}
    
por 22.12.2016 / 20:27
2

Usando a função CenterWindow() do JohannesM , esse script centraliza a janela ativa na tecla de atalho RightShift & C . A tecla de atalho RightShift & B move a janela centralizada de volta para sua localização, altura e largura originais.

Para usar o script, copie o código e salve-o como um arquivo .ahk . Eu usei o nome do arquivo center active window_RShiftC_B.ahk

Com o Autohokey instalado, execute o script clicando duas vezes no arquivo center active window_RShiftC_B.ahk

RShift & c::

global windowName
global X
global Y
global begWidth
global begHeight

WinGetTitle, windowName, A

WinGetPos, X, Y, begWidth, begHeight, %windowName%

CenterWindow(windowTitleVariable)
{
    WinGetPos,,, Width, Height, %windowTitleVariable%
    WinMove, %windowTitleVariable%,, (A_ScreenWidth/2)-(Width/2), (A_ScreenHeight/2    )-(Height/2)
}

CenterWindow(windowName)

return


RShift & b::

WinMove, %windowName%,, X, Y, begWidth, begHeight

return  
    
por 06.06.2013 / 23:16
2

Essas respostas usam a correspondência de títulos, que pode se aplicar a várias janelas. Isso centralizará somente a janela ativa, quando você pressionar win + c.

#c::
WinExist("A")
WinGetPos,,, sizeX, sizeY
WinMove, (A_ScreenWidth/2)-(sizeX/2), (A_ScreenHeight/2)-(sizeY/2)
return
    
por 12.11.2015 / 20:21

Tags