¿Hay un acceso directo en Windows 7 para cambiar entre ventanas solo en una aplicación determinada? Me gusta mucho esta característica en OS X; ¿Cuál es su equivalente en Windows?
¿Hay un acceso directo en Windows 7 para cambiar entre ventanas solo en una aplicación determinada? Me gusta mucho esta característica en OS X; ¿Cuál es su equivalente en Windows?
Respuestas:
Si es una de las primeras diez aplicaciones en la barra de tareas, entonces (Win)+ n, donde n es su número de posición, lo seleccionará y pasará por las ventanas. (Use 0(cero) para la décima aplicación.) Por ejemplo, tengo Windows Explorer e Internet Explorer anclado como las dos primeras cosas en mi barra de tareas, por lo que puedo usar + 1para recorrer mis directorios y + 2para recorrer mis navegadores.
Algunas notas extrañas:
Si se mantiene pulsado y el tipo (y liberación) un dígito n, Windows abrirá el n º aplicación en la barra de tareas. Al tocar repetidamente n se recorrerán las ventanas de ese programa, como se discutió anteriormente. Como lo indica TranslucentCloud , si luego escribe Shift+ n, pasará por ellos en orden inverso, como con Alt+ Tab y Ctrl+ Tab, etc.
Si el n se fija º aplicación en la barra de tareas, pero no se está ejecutando, entonces + ncomenzará a ella.
En Windows 7 y 8, aunque no hay un atajo que conozca disponible solo desde el teclado, puede mantenerlo presionado Ctrlmientras hace clic en el icono de la barra de tareas de la aplicación que le interesa. Cada vez que haga esto, aparecerá una ventana diferente perteneciente a esa aplicación Ven a la vanguardia.
Además, el programa VistaSwitcher configura Win+ F11y Alt+ `para cambiar entre las ventanas de la aplicación actual. (Por cierto, su sitio web dice que Windows 8 no es compatible, pero tuve suerte con él en 8.1; el único problema que he visto hasta ahora es que a veces enumera cosas como la barra lateral de búsqueda como ventanas abiertas. Simplemente ignoro eso, pero YMMV.)
alt-tab terminator
ya no tiene la función de tabulación entre la misma aplicación
Puede usar AutoHotkey: www.autohotkey.com
Y pon este script allí:
!`:: ; Next window
WinGetClass, ActiveClass, A
WinGet, WinClassCount, Count, ahk_class %ActiveClass%
IF WinClassCount = 1
Return
Else
WinGet, List, List, % "ahk_class " ActiveClass
Loop, % List
{
index := List - A_Index + 1
WinGet, State, MinMax, % "ahk_id " List%index%
if (State <> -1)
{
WinID := List%index%
break
}
}
WinActivate, % "ahk_id " WinID
return
!^`:: ; Last window
WinGetClass, ActiveClass, A
WinGet, WinClassCount, Count, ahk_class %ActiveClass%
IF WinClassCount = 1
Return
Else
WinGet, List, List, % "ahk_class " ActiveClass
Loop, % List
{
index := List - A_Index + 1
WinGet, State, MinMax, % "ahk_id " List%index%
if (State <> -1)
{
WinID := List%index%
break
}
}
WinActivate, % "ahk_id " WinID
return
Funciona muy bien para mi. Usando Autohotkey también hice mi copiar / pegar / deshacer, ... teclas como Mac. ¡Funciona genial!
Eras
WinGet, List
devuelve el número de ventanas en la List
variable (a diferencia del List%n%
pseudoarray en el que se almacenan los identificadores), por lo que puede omitir la WinGet, WinClassCount
llamada y verificar en su List
lugar. Además, el código parece ser idéntico para ambas teclas de acceso rápido.
Gracias, Erasmose, pero tu versión del script de autohotkey minimizará una ventana si no hay otras ventanas de ese tipo. A veces no lo sabes, y minimizar es una forma molesta de averiguarlo, así que modifiqué tu script de esta manera:
!`:: ; Next window
WinGetClass, ActiveClass, A
WinGet, WinClassCount, Count, ahk_class %ActiveClass%
IF WinClassCount = 1
Return
Else
WinSet, Bottom,, A
WinActivate, ahk_class %ActiveClass%
return
!+`:: ; Last window
WinGetClass, ActiveClass, A
WinActivateBottom, ahk_class %ActiveClass%
return
ah, y también cambié la última clase para usar shift en lugar de ctrl ya que ese es el modificador para retroceder con varios otros atajos de teclado. Me encanta autohotkey.
Algunas aplicaciones que implementan MDI proporcionan Ctrl + Tab para cambiar entre "Documentos" en la misma instancia de aplicación. por ejemplo, MS Office. Pero esta no es una característica de Windows y depende de la aplicación. Para otro software hay diferentes atajos. Por ejemplo, Firefox no proporciona esta función, pero hay un complemento que agrega la funcionalidad.
Además, aquí hay una lista de métodos abreviados de teclado que se proporcionan en Windows.
Además, hay discusiones existentes sobre atajos de teclado en Windows.
Espero que ayude.
Easy Windows Switcher de Neosmart hace exactamente lo que buscas.
Aquí está la descripción del sitio web Easy Windows Switcher
Easy Window Switcher hace que cambiar entre diferentes ventanas sea tan fácil como alt+`(eso es alt + backtick) como en una Mac. Olvídese de tener que
alt+tab
abrir entre un millón y uno de ventanas abiertas diferentes para encontrar la que está buscando, con Easy Window Switcher, las pestañas entre ventanas del mismo programa están a solo un alt+`paso.
VistaSwitcher permite o para esta función. Es compatible con Windows 10 (aunque el nombre sugiere lo contrario). En Windows 8 y versiones posteriores, sugiero agregar ciertas aplicaciones de metro a la lista de exclusión.
La respuesta principal es buena, pero no funciona en configuraciones de monitores múltiples donde la barra de tareas está configurada para mostrar solo iconos en el monitor activo.
Además de lo que Scott ( https://superuser.com/users/150988/scott ) compartió:
ctrl+ repeatedly click sobre el icono de la aplicación en la barra de tareas también hará el trabajo.
Con AutoHotkey también, un comportamiento más natural:
; Switch between windows of the same application with Alt+(key above Tab)
; Icon: made by Freepik (www.freepik.com), licence CC 3.0 BY
; from https://www.flaticon.com/free-icon/switch-window_71630
; Script Licence: CC0 (Public Domain)
; Source: https://framagit.org/dr4Ke/AutoHotkey_scripts
KeyName := GetKeyName("sc029")
Menu, Tray, Tip, Switch between windows of the same applications with 'Alt+%KeyName%'
*!SC029::
WinGetClass, ActiveClass, A
WinGet, WinClassCount, Count, ahk_class %ActiveClass%
If WinClassCount = 1
Return
WinGet, List, List, % "ahk_class " ActiveClass
index := 0
if not GetKeyState("Shift") {
index := 1
}
;MsgBox, Entering Loop
While GetKeyState("Alt") {
If GetKeyState("Shift") {
index := Mod(List + index - 2, List) + 1
} else {
index := Mod(List + index, List) + 1
}
WinGet, State, MinMax, % "ahk_id " List%index%
if (State == -1)
{
continue
}
WinID := List%index%
WinActivate, % "ahk_id " WinID
ErrorLevel := 1
sleep 50
While (ErrorLevel != 0) and GetKeyState("Alt") {
KeyWait, sc029, DT1
}
}
return
Creé una secuencia de comandos AutoHotkey para cambiar entre las ventanas de la misma aplicación que funcionan con las aplicaciones normales de Windows , los accesos directos de Chrome y las aplicaciones de Chrome .
En ese repositorio de Github hay otro script de AutoHotkey que podría funcionar bien en conjunto con este, porque podrás abrir, restaurar o minimizar tus aplicaciones usando las teclas de acceso rápido que desees.
Ejemplo:
F7:: OpenOrShowAppBasedOnExeName("C:\Windows\System32\SnippingTool.exe")
F8:: OpenOrShowAppBasedOnWindowTitle("Gmail", "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --app=https://mail.google.com/mail/")
Creé un script AutoHotkey que se integra muy bien con Windows Task Switcher ( Alt+ Tab), brindando todos sus beneficios: vistas previas de ventanas de aplicaciones, clic para seleccionar, navegación con teclas de flecha, solo active la ventana única que desee. Invoque / navegue con Alt+ `y Alt+ Shift+ `(retroceso) para alternar entre ventanas que tengan el mismo nombre de proceso que la ventana actual. Me parece más útil que Win+, numya que funciona para cualquier aplicación (en lugar de tener que recordar el número de ranura fijado), las vistas previas de las ventanas son más grandes, el fondo no se vuelve borroso y se combina a la perfección con la navegación Alt+ Tab. Probado en Windows 10.
El truco principal es ocultar temporalmente las ventanas de aplicaciones que no son de destino de Task Switcher configurando WS_EX_TOOLWINDOW
y desarmando WS_EX_APPWINDOW
. Para configurar estos estilos de ventanas en ventanas que se ejecutan como administrador, AutoHotkey debe estar firmado o ejecutarse como administrador . Seguí las instrucciones de firma muy fáciles aquí .
Algunos hilos relacionados que contribuyeron:
!`::
{
WS_EX_TOOLWINDOW = 0x80
WS_EX_APPWINDOW = 0x40000
tw := []
aw := []
WinGet, processName, ProcessName, A
DetectHiddenWindows, Off
AltTab_window_list(1)
Loop, %AltTab_ID_List_0%
{
wid := AltTab_ID_List_%A_Index%
WinGet, processName2, ProcessName, ahk_id %wid%
if (processName2 != processName)
{
WinGet, exStyle2, ExStyle, ahk_id %wid%
if (!(exStyle2 & WS_EX_TOOLWINDOW))
{
tw.InsertAt(0, wid)
WinSet, ExStyle, ^0x80, ahk_id %wid%
}
if ((exStyle2 & WS_EX_APPWINDOW))
{
aw.InsertAt(0, wid)
WinSet, ExStyle, ^0x40000, ahk_id %wid%
}
}
}
Send {Alt Down}{Tab} ; Bring up switcher immediately
KeyWait, ``, T.25 ; Go to next window; wait .25s before looping
if (Errorlevel == 0)
{
While ( GetKeyState( "Alt","P" ) )
{
KeyWait, ``, D T.25
if (Errorlevel == 0)
{
if (GetKeyState( "Shift","P" ))
{
Send {Alt Down}{Shift Down}{Tab}
Sleep, 200
}
else
{
Send {Alt Down}{Tab}
Sleep, 200
}
}
}
}
Send {Alt Up} ; Close switcher on hotkey release
for index, wid in tw
{
WinSet, ExStyle, ^0x80, ahk_id %wid%
}
for index, wid in aw
{
WinSet, ExStyle, ^0x40000, ahk_id %wid%
}
}
return
AltTab_window_list(excludeToolWindows)
{
global
WS_EX_CONTROLPARENT =0x10000
WS_EX_APPWINDOW =0x40000
WS_EX_TOOLWINDOW =0x80
WS_DISABLED =0x8000000
WS_POPUP =0x80000000
AltTab_ID_List_ =0
WinGet, Window_List, List,,, Program Manager ; Gather a list of running programs
id_list =
Loop, %Window_List%
{
wid := Window_List%A_Index%
WinGetTitle, wid_Title, ahk_id %wid%
WinGet, Style, Style, ahk_id %wid%
If ((Style & WS_DISABLED) or ! (wid_Title)) ; skip unimportant windows
Continue
WinGet, es, ExStyle, ahk_id %wid%
Parent := Decimal_to_Hex( DllCall( "GetParent", "uint", wid ) )
WinGetClass, Win_Class, ahk_id %wid%
WinGet, Style_parent, Style, ahk_id %Parent%
If ((excludeToolWindows & (es & WS_EX_TOOLWINDOW))
or ((es & ws_ex_controlparent) and ! (Style & WS_POPUP) and !(Win_Class ="#32770") and ! (es & WS_EX_APPWINDOW)) ; pspad child window excluded
or ((Style & WS_POPUP) and (Parent) and ((Style_parent & WS_DISABLED) =0))) ; notepad find window excluded ; note - some windows result in blank value so must test for zero instead of using NOT operator!
continue
AltTab_ID_List_ ++
AltTab_ID_List_%AltTab_ID_List_% :=wid
}
AltTab_ID_List_0 := AltTab_ID_List_
}
Usando Autohotkey, aquí está mi versión, que funciona con aplicaciones Chrome y Electron. Se modificó a partir de la respuesta de @ user332861 , para que distinga correctamente entre las aplicaciones de Chrome y Electron como Slack y Visual Studio Code. (Para hacer eso, usa en ahk_exe
lugar de ahk_class
)
!`:: ; Next window if using alt-backtick
WinGet, ExeName, ProcessName , A
WinGet, ExeCount, Count, ahk_exe %ExeName%
If ExeCount = 1
Return
Else
WinSet, Bottom,, A
WinActivate, ahk_exe %ExeName%
return
!+`:: ; prev window, Alt+shift+backtick
WinGet, ExeName, ProcessName , A
WinActivateBottom, ahk_exe %ExeName%
return
!`::
#`::
WinGet, ExeName, ProcessName, A
WinActivateBottom, ahk_exe %ExeName%
return
Simplificado de la respuesta de @ otter.pro. Esto simplemente retrocede a través de las ventanas de la aplicación actual. Avanzar en bicicleta puede hacer que aparezcan breves parpadeos de otras ventanas. Dado que no ver flashes es probablemente más importante que el ciclismo bidireccional, simplemente no pedalees hacia adelante. Además, esta respuesta permite # `como alternativa a!` Ya que esa es la combinación de teclas para el acceso directo de Mac.