Windows|为什么任务栏包含在桌面窗口中?

Windows|为什么任务栏包含在桌面窗口中?

任务栏这个东西 , 在Windows的世界是一个非常特殊的存在 , 因为有了它 , 程序的工作区不再是整个屏幕(对于多显示器 , 也是同样的) 。 今天的问题是:为什么操作系统不返回一个排除了任务栏区域的工作区坐标 , 而是返回了整个屏幕的坐标?
你可能猜到了 , 因为这样设计的话 , 结果更糟 。 为何?
很多程序都希望覆盖整个显示器屏幕 , 例如游戏 , 它们会为了最大化游戏的沉浸式体验 , 多半会将界面设计为全屏的 。 还有其他的幻灯片展示程序 , 例如Popwer point和显示图片的应用程序 。 还有一个也别忘了 , 那就是屏保程序 , 也是覆盖整个屏幕的 。
如果桌面窗口不包含任务栏 , 则任务栏会这些应用程序将会在全屏显示时继续保持可见 。 对于屏保程序来说 , 这就很危险了 , 你想想 , 用户可能直接通过任务栏来切换当前应用程序 , 绕过屏保程序通过的密码解锁认证 。
如果任务栏被停靠在屏幕的左边或者上面 , 则桌面窗口的原点坐标就不再是我们所熟悉的(0 0)了 。 这个规则的打破 , 无疑会对大量的应用程序产生影响 。
可能一个程序将坐标进行修正 , 是它不依赖左上角坐标值(0 0)的影响 。 但是还有大量的其他程序 , 它们也许不会做出这样的修正 , 带来的结果是大量的应用程序不兼容 。
总结所以 , 基于以上的种种原因 , 任务栏会包含在桌面窗口中 。
今天的小知识点 , 聪明的你GET到了吗?
最后Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一 , 里面有很多关于Windows的小知识 , 对于广大Windows平台开发者来说 , 确实十分有帮助 。
本文来自:《Why didn’t the desktop window shrink to exclude the taskbar?》
【Windows|为什么任务栏包含在桌面窗口中?】

    相关经验推荐