¿Cómo deshabilitar la función de Windows 7 que maximiza una ventana a pantalla completa cuando se mueve al borde de la pantalla (pero mantiene los atajos de teclado funcionando)?

10

Seguí este consejo: ¿Cómo deshabilitar la ventana de maximizar / redimensionar automáticamente (aero-snap) cuando está cerca del borde de la pantalla?

Pero también desactiva la función donde presionando WinKey+ Left/Right Arrow, ajusta las ventanas a la mitad de la pantalla en la dirección de la tecla de flecha.

¿Hay alguna forma de controlarlos de forma independiente?

Joan Venge
fuente
He estado buscando la misma solución y creo que no se puede hacer de forma nativa. ¿Qué tan difícil es para Microsoft permitir que los usuarios personalicen estas configuraciones fácilmente?
usuario
1
Exactamente demasiadas cosas triviales no son posibles. ¿Por qué? Porque MS no tiene idea de usabilidad. Su último xbox one muestra lo mejor. Y esperan que las personas paguen cantidades absurdas por su software.
Joan Venge

Respuestas:

3

Aunque puede que no haya una manera de hacer esto a través de una GUI, hay una manera de lograrlo mediante programación.

La función que desea es SystemParametersInfo . Puede leerlo en MSDN si desea que tenga plena capacidad (puede acceder a una cantidad absurda de configuraciones) pero le interesará SPI_SETDOCKMOVINGy SPI_SETSNAPSIZING.

SPI_SETDOCKMOVINGalterna la capacidad de ajustar ventanas arrastrándolas por sus barras de título. Puedes apagarlo así:

SystemParametersInfo(SPI_SETDOCKMOVING, 0, NULL, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE)

SPI_SETSNAPSIZINGalterna la capacidad de ajustar ventanas al dimensionarlas usando sus bordes superior e inferior. Puedes apagarlo así:

SystemParametersInfo(SPI_SETSNAPSIZING, 0, NULL, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE)

Para volver a activar cualquiera de los dos, simplemente haga la misma llamada con un número distinto de cero para el segundo argumento. Para que los cambios no persistan después de un reinicio, elimine el indicador SPIF_UPDATEINIFILE del último argumento.

Para asegurarse de mantener los atajos de teclado, no desactive AeroSnap en el Panel de control o en el registro .

El diligente puede notar que los argumentos proporcionados aquí no son lo que usted podría esperar de la documentación. Específicamente, se cambian pvParam y uiParams. Esta es la única forma que he encontrado para hacer que esta función funcione en mi máquina (ejecutando Windows 8.1), por lo que sospecho que hay un error en los documentos.

gitbox
fuente
El resultado de ejecutar este código con SPIF_UPDATEINIFILE establece: superuser.com/a/1464761/128356 (hace posible simplemente aplicar estos cambios en el registro).
Duke Nukem
2

He buscado esto en el pasado, y no creo que haya una manera de hacerlo en Windows. Sin embargo, hay una alternativa de terceros. Primero, deshabilite el snap aerodinámico según el enlace en su pregunta. Luego, usando WindowsPad (una configuración especial de secuencia de comandos de AutoHotkey ) puede restaurar ventanas móviles entre pantallas en una configuración de monitores múltiples, usar el ajuste a la izquierda / derecha y más (ajuste superior, inferior, medio y esquina). De forma predeterminada, WindowsPad usa las teclas Win+ NumPad(debido a la funcionalidad agregada), pero puede agregar la funcionalidad de tecla de flecha tipo aero-snap agregando lo siguiente a la [Hotkeys]sección del archivo WindowsPad.ini:

# + Izquierda = WindowScreenMove, Siguiente
# + Derecha = WindowScreenMove, Anterior
# Izquierda = WPM, -1, 0, 0.5, 1.0
#Right = WPM, +1, 0, 0.5, 1.0
#Up = MaximizeToggle
#Down = Restaurar

Desafortunadamente, pierde la capacidad de ajustar al 50% de la pantalla y luego restaurar a la posición original (ya que en realidad está cambiando el tamaño de la ventana, no usando el ajuste rápido). Pero hasta ahora, ese es el único inconveniente que he encontrado.


Demostración de las características de ajuste de esquina y fondo de WindowsPad:

WindowsPad Demo

tortuga
fuente
2

Puedes probar mi colección de herramientas de Windows . Las siguientes son teclas de acceso rápido para mover ventanas:

Win+Array: Move the active window based on other visible windows. This allows for fast window alignment.
Shift+Win+Array: Move the left-up corner of the active window.
Alt+Win+Array: Move the right-bottom corner of the active window.
Ctrl+Win+Array: Dock the active window
Alt+F9: Minimize the active window
Alt+F10: Toggle maximize the active window

Jun 2015

Como el código de Google se está retirando, moví el código a github . La página wiki tiene información de ayuda: rwin wiki

Codismo
fuente
2

La siguiente edición del registro logra exactamente lo que se solicitó :

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Desktop]
"DockMoving"="0"
"SnapSizing"="0"

(Puede guardar esto como un archivo .reg y ejecutarlo. Es necesario reiniciar o volver a iniciar sesión).

Efectivamente, estas son las dos configuraciones que se establecerían, ejecutando el código en la respuesta de @ gitbox.

Funciona en Windows 7-10.

Duke Nukem
fuente
-1

Puedes hacer esto en el registro.

  1. Abrir regedit.exe
  2. Navegar a HKEY_CURRENT_USER \Control Panel\Desktop
  3. Seleccione el campo WindowArrangementActivehaciendo doble clic en él
  4. Establezca el valor en 0
  5. Reiniciar (cerrar sesión y volver a funcionar puede funcionar)

Encontrado desde aquí http://www.technorms.com/33660/how-to-disable-the-windows-snap-feature

Grgrssll
fuente
Esto desactiva los atajos de teclado
Duke Nukem