Windows 7 中切换相同应用程序窗口的快捷方式,如 OS X 中的 Cmd + `

jie*_*eup 48 windows windows-7 keyboard-shortcuts shortcuts window

Windows 7 中是否有仅在给定应用程序中的窗口之间切换的快捷方式?我非常喜欢 OS X 中的这个功能;它在 Windows 中的等价物是什么?

Sco*_*ott 53

如果它是任务栏上的前十个应用程序之一,则 (Win)+ n,其中n是其位置编号,将选择它并在窗口中循环。(0第十个应用程序使用(零)。)例如,我将 Windows 资源管理器和 Internet Explorer 固定为任务栏上的前两项,因此我可以使用+1循环浏览我的目录,使用+2循环浏览我的浏览器。


一些奇怪的笔记:

  • 如果您按住 并键入(然后松开)一个数字n,Windows 将在任务栏上打开第 n个应用程序。n 如上所述,重复点击将在该程序的窗口中循环。正如 TranslucentCloud 所述,如果您然后键入Shift+ n,它将以相反的顺序循环遍历它们,就像Alt+Tab 和 Ctrl+Tab等一样。

    如果任务栏上的第n个应用程序已固定但未运行,则+n将启动它。 

  • 但是,如果您从一开始就按住Shift,然后键入n,Windows 将启动该应用程序的一个新实例(或至少一个新窗口), 即使它已经在运行。  (对于某些不允许多个窗口同时运行的应用程序,例如 Windows Media Player,这将失败。)
  • +n似乎不适用于数字键盘。

  • 如果同时按住“control”(ctrl+win+n),您可以立即在窗口之间切换,而无需显示缩略图 (2认同)

ech*_*son 24

在 Windows 7 和 8 中,虽然我知道没有单独从键盘上可用的快捷方式,但您可以Ctrl在单击您感兴趣的应用程序的任务栏图标的同时按住不放。每次执行此操作时,属于该应用程序的不同窗口将走在前列。

此外,程序VistaSwitcher设置Win+F11Alt+`在当前应用程序的窗口之间切换。(顺便说一句,它的网站说不支持 Windows 8,但我在 8.1 下很幸运;到目前为止我看到的唯一问题是它有时将搜索侧边栏等内容列为打开的窗口。我只是忽略那个,但是YMMV。)

  • 巨大的生活质量改善。虽然专用热键更理想,但 WIN+# 解决方案受到按键数量、不良人体工程学和可怕延迟的严重限制,更不用说在可访问的热键 (1-4) 和所需的开始栏位置之间产生冲突。 (2认同)

Sep*_*man 23

您可以使用 AutoHotkey:www.autohotkey.com

并把这个脚本放在那里:

!`:: ; 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
Run Code Online (Sandbox Code Playgroud)

对我来说效果很好。使用 Autohotkey 我还制作了我的复制/粘贴/撤消,...像 Mac 一样的键。效果很好!

时代

  • 这对一些警告很有效:1)对于 Chrome,它将循环所有类似 Chrome 的窗口,包括像 Slack 这样的应用程序!2)对于现代应用程序——如果你只打开一个现代应用程序窗口——它将随机打开一个其他现代应用程序(即如果你打开了日历并且这是唯一打开的现代应用程序,它将打开“设置”,或“体育”或“邮件”等) (2认同)

小智 11

谢谢,Erasmose,但是如果没有该类型的其他窗口,您的自动热键脚本版本将最小化一个窗口。有时你不知道,最小化是一种很烦人的发现方式,所以我像这样修改了你的脚本:

!`::    ; 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
Run Code Online (Sandbox Code Playgroud)

哦,我还更改了最后一堂课以使用 shift 而不是 ctrl,因为我是使用其他几个键盘快捷键倒退的修饰符。我喜欢自动热键。


小智 7

一些实现 MDI 的应用程序提供 Ctrl+Tab 以在同一应用程序实例下的“文档”之间切换。例如微软办公室。但这不是 Windows 功能,而是依赖于应用程序。对于其他软件,有不同的捷径。例如,Firefox 不提供此功能,但有一个附加组件可以添加该功能。

此外,这是Windows 中提供的键盘快捷键列表

此外,还有关于 Windows 中的键盘快捷键的现有讨论

希望有帮助。

  • 此外,一些程序为此使用 (Ctrl)+(F6)。(添加 (Shift) 以反转方向。) (2认同)

Ish*_*han 6

Neosmart 的Easy Windows Switcher正是您所追求的。

这是来自Easy Windows Switcher网站的描述

Easy Window Switcher 使在不同窗口之间切换alt+`就像在 Mac 上一样简单(alt+backtick)。忘记必须 alt+tab在一百万个不同的打开窗口之间找到您正在寻找的窗口,使用 Easy Window Switcher,在同一程序的窗口之间切换只需一步之alt+`遥。


小智 6

我创建了一个 AutoHotkey 脚本来在与常规 Window AppsChrome ShortcutsChrome Apps一起使用的相同应用程序的窗口之间切换。

https://github.com/JuanmaMenendez/AutoHotkey-script-Open-Show-Apps/blob/master/AutoHotkey-script-Switch-Windows-same-App.ahk

额外的

在那个Github 存储库中,还有另一个 AutoHotkey 脚本可以与这个脚本很好地配合使用,因为您将能够使用所需的热键打开、恢复或最小化您的应用程序。

例子:

  • 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/")

  • 这是在 Chrome 上正确运行的唯一答案,因为它不会将 Chrome 和基于 Electron 的应用程序视为相同。它在 Chrome、VS Code、Slack 等上完美运行(在极少数情况下,它在某些应用程序上无法正确循环,如 Mintty/Cygwin、gVim,有时在 Powershell 上,如果窗口标题发生变化) (3认同)
  • 这必须是最佳答案。其他答案不适用于 Chrome 或 VS Code,这个答案适用。谢谢娟马!阻止我需要切换回 Linux。 (3认同)