漫漫开发路|当你按下Alt+Tab组合键的时候


问题
当我们按下Alt+Tab这一组合键的时候 , Windows操作系统会显示正在运行的程序列表供用户进行快速切换 。 这些应用程序的会以一种特定的顺序自左向右的排列 , 那么 , 今天的问题来了:操作系统是如何确定这个排列顺序的呢?解答
图标的排列顺序是遵循窗口的Z序(Z-order)来确定的 。 当你切换到一个新的窗口时 , 那么这个窗口将会位于窗口Z序的最上层 。 如果你最小化一个窗口 , 则它会被放置到Z序的最下层 。
当Alt+Esc组合键(老天爷 , 还有人会用Alt+Esc吗?)被按下的时候 , 系统将会把当前Z序的最上层窗口移动至最下层 , 这样下一个窗口就会成为新的最上层窗口 。
而Alt+Shift+Esc组合键将会把最下层的窗口放置到最上层 , 但是它不会打开已经被最小化的那些窗口 。
但是当我们考虑到窗口的”置于顶层”(always on top)属性的时候 , 事情就变得有些复杂了 。 置于顶层的基本原则是:被设置为置于顶层窗口将始终位于”非置于顶层”窗口的上方 。
所以 , 如果根据上面的原则 , 一个”非置顶”窗口被放置到窗口Z序的最上层 , 则实际上 , 它也只是被放置在低于任何”置顶”窗口的下方 。
你可能会听说这样一个术语”快速任务切换”(Fast Task Switching) 。 它是Alt+Tab切换用户界面的前身 。 在Windows 3.0或者更早时期 , Alt+Tab切换就十分类似于Alt+Esc , 只是当它切换到一个已经被最小化的窗口时 , 它会自动将窗口打开 。
当新版本的Alt+Tab被添加到Windows 3.1时 , 我们担心用户可能还是希望使用老的那一套方式 , 因此 , 我们在控制面板中添加了一个回退到老版本的开关(实际上 , 我们还可以通过设置SPI_SETFASTTASKSWITCH系统参数来以程序化的方式进行修改) 。 事实证明 , 用户都比较能接受新版本的操作方式 , 所以我们就彻底的移除了旧版本 , 所以这些相关的设置也就没什么用处了 。
这也印证了我们是如何努力对系统进行改进 , 以让用户有机会回退到之前的旧版本 。 对于那些拥有这10000人员工大型企业来说 , 他们非常不喜欢操作系统的用户界面发生变化 , 因为这些变化会让他们不得不花费大量的时间和金钱来培训员工适应新的操作界面 。
如果你打开组策略编辑器 , 你会发现那里有很多IT管理员可以设置的选项 , 这些选项专门用来禁止掉那些加入到系统中的新功能 。 总结
组策略 , 很多时候 , 不是为了让你设定什么新功能 , 它只是让你能暂时禁止它们 。
【漫漫开发路|当你按下Alt+Tab组合键的时候】
漫漫开发路|当你按下Alt+Tab组合键的时候
本文插图


    推荐阅读