有没有办法避免意外与跳转到焦点的窗口进行交互?

有没有办法避免意外与跳转到焦点的窗口进行交互?

自从 PC 有了图形界面之后,同样的问题就会再次出现:

用户正在键盘上打字或点击。然后,突然间,操作系统决定是时候将窗口从后台移到前台,或者弹出一个全新的窗口。无论哪种方式,您的打字或点击现在都集中在新的前台窗口上,甚至在您的大脑有机会处理发生的事情之前。

  • 如果窗口是带有按钮(确定、取消、是、否等)的对话框,您输入/单击可能会忽略重要信息,甚至更糟:您最终取消了 10 小时的文件备份过程,或者在工作中途强制重启系统。

  • 如果窗口的焦点是文本输入,则表示您现在正在输入文本。也许您正在输入电子邮件,而部分文本现在出现在弹出窗口中。当您按 Enter 键换行时,您最终提交了弹出窗口。或者更糟的是:您以纯文本形式输入密码并提交了弹出窗口,或者现在有人可以看到您的密码(希望您没有共享屏幕进行演示)。

真的没有办法防止这种情况发生吗?(我会保留这个问题关于 Windows 操作系统,但我知道它们都有这个问题。)我很难相信这么多年过去了,仍然没有护栏来保护用户免受同样重复发生的危险。

在我看来,实施某种措施至少可以部分缓解此问题,这很简单。
例如:一旦新窗口(尤其是未手动调用的窗口)弹出并获取焦点,它应该有一段延迟(可能至少 1 秒)才能接受输入。我想我以前见过这种情况(是 Windows UAC 提示吗?)但还不够频繁。

当我输入这个问题时,我正在尝试传输文件,每当出现坏文件时,就会弹出一个没有任何警告的新窗口,而且由于我正在输入,我会意外取消该过程。

答案1

请理解,Windows 无法完全阻止应用程序窃取焦点并保持正常运行。例如,如果在文件复制期间,您的防病毒软件检测到可能的威胁并想弹出一个窗口询问您要采取的措施,如果此窗口被阻止,那么您永远不会理解为什么复制永远不会终止。

尽管如此,通过以下方法或许可以缓解该问题。

启用焦点跟随鼠标

这会将焦点放入光标下的窗口中,因此也许可以避免您的窗口失去焦点。

控制面板 > 轻松访问中心,点击“使鼠标更易于使用”,勾选“通过将鼠标悬停在窗口上来激活窗口”选项,点击确定。

更改窗口悬停后获取焦点的超时时间

HKEY_CURRENT_USER\Control Panel\Desktop此超时在注册表项中指定 ActiveWndTrkTimeout,包含以毫秒 (ms) 为单位的时间。默认值表示0窗口将立即获得焦点,这也许正是您想要的。更改后需要注销/登录。

答案2

自从 PC 有了图形界面之后,同样的问题就会再次出现:

那是 1990 年以后的事了。

  1. 输入/打字时请注意,以便(a)减少错误,并且(b)准备好弹出窗口以继续下一步。

  2. “在工作中强制重启系统。”设置运行时间以避免这种情况发生。我的系统从不在工作中重启。

  3. “也许你正在输入一封电子邮件,而你的部分文本现在出现在弹出窗口中。”这确实需要注意。

  4. “真的没有办法防止这种情况发生吗?” 无论如何都不可能永远避免。毕竟,在过去的 30 年里,它已经经过了一次又一次的改进。它确实反映了用户的要求。

相关内容