应用程序记住在按下 Alt+Tab 键后按下了 Alt 键

应用程序记住在按下 Alt+Tab 键后按下了 Alt 键

当我Alt+Tab切换离开某个应用程序,然后返回该应用程序时,Alt第一次按下该键时不起作用。以下是重现方法

  • 打开 Chrome 和 Notepad++
  • 使用你喜欢的任何方法激活 Notepad++
  • Alt+Tab激活 Chrome
  • Alt+Tab激活 Notepad++
  • 按下Alt键一次

Notepad++ 中的菜单未激活。

对于我来说,使用大多数应用程序都可以重现这种情况。不过,Notepad++ 让我知道发生了什么。当我Alt+Tab离开 Notepad++ 时,我可以看到菜单选择器(下划线)是可见的。即使应用程序处于非活动状态以及我重新激活它时,它们仍然可见。当我返回应用程序时,Alt 键会删除菜单选择器 - 这与我想要的效果相反。

到目前为止,我尝试过的唯一不会发生这种情况的应用程序是 SQL Server Management Studio(但我只尝试了大约十几个)。无论我如何激活和停用 SSMS,第一次按下 Alt 键都会激活菜单。

在 Notepad++ 中很容易看到菜单选择器被激活,但在使用 RibbonUI 的应用程序(如 Office)中则不那么容易。它不会像Alt在应用程序中单独按下一样显示 Ribbon 工具提示,但效果是一样的。也就是说,当我返回应用程序时,我必须按Alt两次才能看到工具提示。

看起来好像我在离开应用程序之前激活了菜单,但这并不完全正确。这是某种奇怪的第三种状态。除此以外的所有其他键都按Alt预期工作。如果我在 Notepad++ 中激活菜单,然后按下向下箭头键,文件菜单就会展开。但如果我Alt+Tab离开 Notepad++,然后重新激活,向下箭头会按预期将光标向下移动一行。因此,向下箭头不一定一定会Alt持续存在,因此向下箭头仍会展开菜单。

我想Alt+Tab离开 Excel,Alt+Tab返回 Excel,按Alt+ A+ C,并且不出AC现在活动单元格中。

屏幕截图:从 Notepad++ 中按 Alt-tab 键时,您可以看到菜单中的热键带下划线

按 Alt 键离开 Notepadd++

在 Excel 中按 Alt-Tab 键时,不显示任何工具提示

Alt Tab 远离 Excel

我无法向您展示当我返回 Excel 并按下 Alt 时为什么什么都没发生,因为什么都没发生。如果您能想到想要查看的特定屏幕截图,我会提供它。

答案1

打开注册表并转到以下项:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer
请注意,您必须在Explorer项中而不是在其子树中。
创建一个名为的新 32 位 DWORD 值AltTabSettings并将其设置为 1。
从 Windows 10 会话中注销并再次登录。

笔记
您可以通过删除创建的新值来回滚更改。

答案2

我对这个问题的看法是,这是不可避免的:

Alt-down 被发送到应用程序,然后 Tab-down 由 Windows 处理,从而切换焦点。结果是 Alt-up 永远不会被发送,因此应用程序菜单保持 Alt-pressed 模式。当您现在执行 Alt-Tab 并将焦点重新交给应用程序时,您按下的第一个 Alt 只会撤消菜单模式。

剩下的只是应用程序的内部记录以及它如何处理 Alt-down/Focus-out/Focus-in 的顺序。有些应用程序可能足够智能,可以在焦点移出后撤消 Alt-down。从您的测试来看,似乎大多数应用程序都无法处理这种情况。

这是我在新的 Windows 10 VM 和我自己的计算机上观察到的行为,因此这个问题是 Windows 10 的默认条件。似乎有些人没有遇到这个问题,但为什么它没有发生在他们的计算机上,我目前仍然不知道。

答案3

Notepad++ 可以使用该Alt按钮执行许多快捷操作,例如

Alt-0 折叠全部

Alt-(1~8) 折叠级别 (1~8)

Alt-Shift-0 展开全部

Alt-Shift-(1~8) 展开级别 (1~8) 因此,notepad++ 等待您按下某个键并将其解释为快捷方式。

你可以使用以下方法禁用快捷方式Alt

Settings -> Shortcut Mapper

答案4

检查你的 Windows 版本Settings > System > About

如果您的 Windows 版本是 1607,那么回滚到 Windows 版本 1511 可能会解决问题。

为此,请打开“开始”屏幕或“开始”菜单,然后选择“设置”。导航到Update & security > Recovery。单击或点击Get started下方的按钮Go back to an earlier build以卸载当前的 Windows 10 版本并返回到您之前使用的版本。

然后重新启动计算机并再次测试该问题。

相关内容