在可见窗口之间切换的快捷方式?

在可见窗口之间切换的快捷方式?

我经常会在分屏模式下同时打开两个或三个不同的应用程序/窗口。我想知道是否有特定的快捷方式可以在同时打开和关闭的窗口之间切换/循环可见的对于用户来说,即没有最小化。

我已经使用了alt+tabalt+esc或等快捷方式win+tab,但如果我能找到一个无需打开单独菜单即可使用的快捷方式就太好了。有这样的快捷方式吗?

编辑:我还想知道是否有任何基于脚本的解决方案可以为这种操作提供快捷方式。

答案1

如果您将这些应用程序固定到任务栏和/或重新组织它们以便它们位于开始菜单旁边,则可以使用WIN+ 1 - 9. 来启动或切换到出现在该位置的应用程序。

假设你将浏览器直接放在开始按钮旁边并将其固定,然后你始终可以通过按WIN+1

如果您将电子邮件客户端放在第 2 位,则可以对WIN+2等执行相同操作。

如果您没有固定程序,它仍然可以工作,但这意味着您必须在切换到它们之前查看它们位于哪个插槽。

分组的任务栏项目算作同一个按钮。多次按下该组合键将在分组的项目之间循环。

此方法仅限于开始菜单旁边出现的前 9 个程序。如果您已固定 9 个程序,则无法使用此方法切换到未固定的程序。

为了形成肌肉记忆,建议固定程序,这样如果程序关闭,您就能启动它。因此,您始终可以通过该快捷方式来访问该窗口。

如果该插槽中的程序被最小化,它会将其带回到前面。

如果您确实想限制可见的程序,请考虑使用内置虚拟桌面解决方案。将这些窗口移动到它们自己的桌面,现在 alt-tab 将仅在这些窗口之间循环,因为其余窗口隐藏在不同的虚拟桌面上。

答案2

您可以尝试这个 Autohotke y 脚本:

; Press F1 to switch between the two last activated and not minimized windows

F1::
WinGet, id, list,,, Program Manager
Loop, %id%
{
    this_ID := id%A_Index%
    WinGet, exStyle, exStyle, ahk_id %this_ID%
    If !(exStyle & 0x100)
        continue
    If WinActive("ahk_id" . this_ID)
         continue
    WinGet, window_state, MinMax, ahk_id %this_id%
    if (window_state = -1) ; minimized
         continue
    WinActivate, ahk_id %this_ID%
        break
}
return

; Press F2 to show a menu of all not minimized windows

F2::
Menu, windows, Add
Menu, windows, deleteAll
WinGet, id, list
Loop, %id%
{
    this_ID := id%A_Index%
    WinGet, exStyle, exStyle, ahk_id %this_ID%
    If !(exStyle & 0x100)
         continue
    WinGet, window_state, MinMax, ahk_id %this_id%
    if (window_state = -1) ; minimized
         continue
    WinGetTitle, title, ahk_id %this_ID%
    Menu, windows, Add, %title%, ActivateWindow
    WinGet, Path, ProcessPath, ahk_id %this_ID%
    Try
    Menu, windows, Icon, %title%, %Path%
    Catch
    Menu, windows, Icon, %title%, %A_WinDir%\System32\SHELL32.dll, 3 
}
Menu, windows, Show
return

ActivateWindow:
    SetTitleMatchMode, 3
    WinActivate, %A_ThisMenuItem%
return

相关内容