Pregunta Necesita Autohotkey para centrar la ventana activa


Estoy buscando una manera de centrar la ventana activa en el escritorio usando Autohotkyes. ¿Alguien puede darme un guión que pueda usar, por favor? Gracias


4


origen




Respuestas:


http://www.autohotkey.com/docs/commands/WinMove.htm fue el primer resultado en google con la frase "ventana del centro de autohotkey". Puede ayudarte. Ver el script de ejemplo.

Script de ejemplo

Ejecutar, calc.exe
WinWait, Calculadora
WinMove, 0, 0; Mueva la ventana encontrada por WinWait a la esquina superior izquierda de la pantalla.

SplashTextOn, 400, 300, Portapapeles, El portapapeles contiene: `n% portapapeles%
WinMove, Portapapeles, 0, 0; Mueva la ventana de bienvenida a la esquina superior izquierda.
Msgbox, presiona OK para cerrar el texto de Splash
SplashTextOff

; La siguiente función centra la ventana especificada en la pantalla:
CenterWindow (WinTitle)
{
    WinGetPos ,,, ancho, alto,% WinTitle%
    WinMove,% WinTitle% ,, (A_ScreenWidth / 2) - (Ancho / 2), (A_ScreenHeight / 2) - (Altura / 2)
}

Personalizado

; La siguiente función centra la ventana especificada en la pantalla:
CenterWindow (WinTitle)
{
    WinGetPos ,,, ancho, alto,% WinTitle%
    WinMove,% WinTitle% ,, (A_ScreenWidth / 2) - (Ancho / 2), (A_ScreenHeight / 2) - (Altura / 2)
    ; Msgbox, Made the Notepad Center?
}

Ejecutar, file.exe

CenterWindow ("título de archivo.exe")

5



solo se desaconsejan las respuestas de enlace, pero puede aplicar la información que está en ese enlace para que la respuesta esté en su respuesta. - soandos
¿Por qué pondrías algo en el portapapeles? - soandos


Por simplicidad y adaptabilidad, creé un script súper corto adicional que solo toma la ventana activa y la centra, pero también la cambia de tamaño con el ancho y la altura especificados. Quizás esto no sea exactamente lo que pediste, aparte de algunos años de retraso. Pero, esto es una cosa sobre la administración de ventanas que espero de los sistemas operativos en tiempos de resoluciones superiores a FHD. Con suerte, alguien más lo necesita. 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
}

3





Utilizando JohannesMes CenterWindow() función, este script centra la ventana activa en la tecla de acceso directo RightShift & C. La tecla de acceso directo RightShift & B mueve la ventana centrada a su ubicación original, alto y ancho.

Para utilizar el script, copie el código y guárdelo como .ahk archivo. Usé el nombre del archivo center active window_RShiftC_B.ahk

Con Autohokey instalado, ejecute el script haciendo doble clic en el archivo 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  

2





Estas respuestas usan coincidencia de título, que podría aplicarse a varias ventanas. Esto solo centrará la ventana activa, cuando presiones win + c.

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

2