Programa para cambiar dos ventanas entre dos monitores en Windows

Estoy buscando un programa que me permita cambiar dos ventanas entre dos monitores con clics del mouse y/o teclado con la menor cantidad de clics y/o pulsaciones de teclas posibles.

Por ejemplo, el programa A está en el monitor 1 y el programa B está en el monitor 2. Si quiero cambiar la ubicación del programa A y el programa B, solo quiero tener que hacer clic con el botón izquierdo en el programa A y luego hacer clic con el botón izquierdo en el programa B , luego presione algún atajo de teclado para que cambien.

Debe tener las siguientes características:

  • funciona Windows 7
  • admite al menos 6 monitores
  • consume la menor cantidad de CPU posible
  • se prefiere gratis
  • tan receptivo como sea posible
  • tan libre de errores como sea posible
Windows 7 ya tiene una característica que se acerca mucho a lo que necesitas: puedes usar shift+win+flecha para mover la ventana activa a una pantalla diferente
@Michiel gracias por el enlace, de hecho está cerca, pero la mayoría de las veces cambio dos ventanas, por lo que tener un acceso directo dedicado a esto sería más rápido.
La aplicación que sugerí en su otra pregunta también brinda funcionalidad para completar esto con teclas de acceso rápido personalizables y/o clics del mouse.

Respuestas (1)

Este tipo de tarea ad-hoc tiende a resolverse mejor mediante un marco de automatización genérico para proporcionar bloques de construcción básicos (por ejemplo, comandos para recuperar geometrías de ventana y mover ventanas), con un pequeño script que implementa su requisito específico.

En Windows, AutoHotkey es un entorno de secuencias de comandos de automatización de escritorio de propósito general para Windows. Es de código abierto. El lenguaje de secuencias de comandos hace que Basic no se vea tan mal, pero hace el trabajo.

Aquí hay un script que cambia la posición de dos ventanas. Funciona de la manera que usted describe: haga clic en una ventana, cambie a otra ventana y estas dos ventanas se transpondrán. El script vincula la acción al atajo de teclado Ctrl++ ; cambie la línea para elegir la tecla de acceso rápido que prefiera. Después de instalar AutoHotkey, guarde este script en un archivo llamado (el nombre no es significativo, solo la extensión lo es) y agréguelo a sus scripts de inicio (o ejecútelo una vez para probar; hay un icono en la barra de tareas con un comando de salida ).AltF^!f::flip-windows.ahk

;; Switch the position and size of the active window with the one immediately after in
;; top-to-bottom z-order.
;; This action is bound to the hotkey Ctrl+Alt+F.

#NoEnv
#SingleInstance force

;; Bind the action to Ctrl+Alt+F
^!f::

;; Set id1 to the window ID of the active window
WinGet, id1, ID, A
;; Set id2 to the window ID of the next active window (the one that Alt+Tab would
;; switch to). To do this, iterate over the active windows in top-to-bottom order.
;; This order is: first permanently-raised windows, then the active window, then
;; the next active window.
WinGet, ids, List
Loop, %ids%
{
  current := ids%A_Index%
  IfNotEqual, current, %id1%, Continue
  next_index := A_Index + 1
  id2 := ids%next_index%
  Break
}


;; Retrieve the coordinates of the two windows
WinGetPos, x1, y1, w1, h1, ahk_id %id1%
WinGetPos, x2, y2, w2, h2, ahk_id %id2%

;WinGetTitle title1, ahk_id %id1%
;WinGetTitle title2, ahk_id %id2%
;MsgBox %id1% "%title1%" %w1%x%h1%+%x1%+%y1% <-> %id2% "%title2%" %w2%x%h2%+%x2%+%y2%

;; Move the two windows to each other's coordinates
WinMove, ahk_id %id1%, , %x2%, %y2%, %w2%, %h2%
WinMove, ahk_id %id2%, , %x1%, %y1%, %w1%, %h1%
Return

Si solo desea enviar una ventana a otro monitor, Windows 7 tiene esto incorporado ( Win+ Shift+ Left, Win++ Shift) Right, pero si eso no es exactamente lo que desea, puede crear algo mejor con AHK (algunos ejemplos de secuencias de comandos AHK puede inspirarte, por ejemplo, 1 ).