Existe-t-il un raccourci dans Windows 7 pour basculer entre les fenêtres dans une application donnée uniquement? J'aime beaucoup cette fonctionnalité dans OS X; quel est son équivalent sous Windows?
Existe-t-il un raccourci dans Windows 7 pour basculer entre les fenêtres dans une application donnée uniquement? J'aime beaucoup cette fonctionnalité dans OS X; quel est son équivalent sous Windows?
Réponses:
S'il s'agit de l'une des dix premières applications de la barre des tâches, alors (Win)+ n, où n est son numéro de position, la sélectionnera et fera défiler les fenêtres. (Utilisez 0(zéro) pour la dixième application.) Par exemple, j'ai Windows Explorer et Internet Explorer épinglés comme les deux premières choses sur ma barre des tâches, donc je peux utiliser + 1pour parcourir mes répertoires et + 2pour parcourir mes navigateurs.
Quelques notes étranges:
Si vous appuyez et maintenez et tapez (et relâchez) un chiffre n, Windows ouvrira la n ième application dans la barre des tâches. Appuyez plusieurs fois sur n les fenêtres de ce programme, comme indiqué ci-dessus. Comme indiqué par TranslucentCloud , si vous tapez ensuite Shift+ n, il les parcourra dans l'ordre inverse, comme avec Alt+ Tab et Ctrl+ Tab, etc.
Si la n e application de la barre des tâches est épinglée mais ne fonctionne pas, + la nlancera.
Dans Windows 7 et 8, bien qu'il n'y ait aucun raccourci que je connaisse disponible uniquement à partir du clavier, vous pouvez le maintenir Ctrlen cliquant sur l'icône de la barre des tâches de l'application qui vous intéresse. À chaque fois que vous le faites, une fenêtre différente appartenant à cette application s'affiche venir au premier plan.
De plus, le programme VistaSwitcher configure Win+ F11et Alt+ `pour basculer entre les fenêtres de l'application actuelle. (BTW, son site Web dit que Windows 8 n'est pas pris en charge, mais j'ai eu de la chance avec lui sous 8.1; le seul problème que j'ai vu jusqu'à présent est qu'il répertorie parfois des choses comme la barre latérale de recherche en tant que fenêtres ouvertes. J'ignore simplement cela, mais YMMV.)
alt-tab terminator
n'a plus la fonctionnalité de
Vous pouvez utiliser AutoHotkey: www.autohotkey.com
Et mettez ce script là:
!`:: ; 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
Fonctionne très bien pour moi. En utilisant Autohotkey, j'ai également fait mes copier / coller / annuler, ... touches comme Mac. Fonctionne très bien!
Époques
WinGet, List
renvoie le nombre de fenêtres dans la List
variable (par opposition au List%n%
pseudo - tableau dans lequel les poignées sont stockées), vous pouvez donc ignorer l' WinGet, WinClassCount
appel et vérifier à la List
place. En outre, le code semble être identique pour les deux raccourcis clavier.
Merci, Erasmose, mais votre version du script autohotkey minimisera une fenêtre s'il n'y a pas d'autres fenêtres de ce type. Parfois, vous ne savez pas, et minimiser est une façon ennuyeuse de le savoir, j'ai donc modifié votre script comme suit:
!`:: ; 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
oh, et j'ai également changé la dernière classe pour utiliser shift au lieu de ctrl car c'est le modificateur pour revenir en arrière avec plusieurs autres raccourcis clavier. J'adore autohotkey.
Certaines applications qui implémentent MDI fournissent Ctrl + Tab pour basculer entre les "Documents" sous la même instance d'application. par exemple MS Office. Mais ce n'est pas une fonctionnalité Windows et dépend de l'application. Pour les autres logiciels, il existe différents raccourcis. Par exemple, Firefox ne fournit pas cette fonctionnalité mais il existe un module complémentaire qui ajoute la fonctionnalité.
De plus, voici une liste des raccourcis clavier fournis dans Windows.
En outre, il existe des discussions sur les raccourcis clavier dans Windows.
J'espère que ça t'as aidé.
Easy Windows Switcher de Neosmart fait exactement ce que vous recherchez.
Voici la description du site Web Easy Windows Switcher
Easy Window Switcher permet de basculer entre différentes fenêtres aussi facilement que alt+`(c'est-à-dire alt + backtick) comme sur un Mac. Oubliez d'avoir à choisir
alt+tab
entre un million et une fenêtre ouverte différente pour trouver celle que vous recherchez, avec Easy Window Switcher, tabuler entre les fenêtres du même programme n'est qu'à une alt+`distance.
VistaSwitcher autorise ou pour cette fonctionnalité. Son compatible avec Windows 10, (bien que le nom suggère le contraire). Sur Windows 8 et versions ultérieures, je suggère d'ajouter certaines applications Metro à la liste d'exclusion.
La première réponse est bonne, mais ne fonctionne pas sur les configurations multi-écrans où la barre des tâches est configurée pour afficher uniquement les icônes sur le moniteur actif.
En plus de ce que Scott ( https://superuser.com/users/150988/scott ) a partagé:
ctrl+ repeatedly click sur l'icône de l'application dans la barre des tâches fera également le travail.
Avec AutoHotkey aussi, un comportement plus naturel:
; 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
J'ai créé un script AutoHotkey pour basculer entre les fenêtres de la même application qui fonctionnent avec les applications Windows standard , les raccourcis Chrome et les applications Chrome .
Dans ce dépôt Github, il existe un autre script AutoHotkey qui pourrait bien fonctionner en tandem avec celui-ci, car vous pourrez ouvrir, restaurer ou minimiser vos applications en utilisant les raccourcis clavier que vous souhaitez.
Exemple:
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/")
J'ai créé un script AutoHotkey qui s'intègre parfaitement à Windows Task Switcher ( Alt+ Tab), offrant tous ses avantages: aperçus des fenêtres d'application, cliquez pour sélectionner, navigation par touches fléchées, activez uniquement la fenêtre unique que vous souhaitez. Appelez / naviguez avec Alt+ `et Alt+ Shift+ `(backtick) pour faire défiler les fenêtres ayant le même nom de processus que la fenêtre actuelle. Je trouve cela plus utilisable que Win+ numcar cela fonctionne pour n'importe quelle application (plutôt que de devoir se souvenir du numéro d'emplacement épinglé), les aperçus des fenêtres sont plus grands, l'arrière-plan n'est pas flou et se mélange parfaitement avec Alt+ Tabnavigation. Testé sur Windows 10.
L'astuce principale consiste à masquer temporairement les fenêtres d'applications non cibles du sélecteur de tâches en définissant WS_EX_TOOLWINDOW
et en désactivant WS_EX_APPWINDOW
. Pour définir ces styles de fenêtres sur des fenêtres exécutées en tant qu'administrateur, AutoHotkey doit être signé ou exécuté en tant qu'administrateur . J'ai suivi les instructions de signature très faciles ici .
Quelques discussions connexes qui ont contribué:
!`::
{
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_
}
En utilisant Autohotkey, voici ma version, qui fonctionne avec les applications Chrome et Electron. Il a été modifié à partir de la réponse de @ user332861 , afin de distinguer correctement les applications Chrome et Electron telles que Slack et Visual Studio Code. (Pour ce faire, il utilise ahk_exe
au lieu 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
Simplifié de la réponse de @ otter.pro. Cela fait simplement défiler les fenêtres d'application en cours. Faire un pas en avant peut faire apparaître de brefs flashs d'autres fenêtres. Étant donné que ne pas voir les flashs est probablement plus important que le cycle bidirectionnel, ne faites pas de cycle vers l'avant. De plus, cette réponse autorise # `comme alternative à!` Puisque c'est la combinaison de touches pour le raccourci Mac.