我有一个简单的问题,
我搜索Windows窗口管理器的确切名称。
对于Unix:X Window系统
Mac:Quartz
Windows:?
谢谢你。
答案 0 :(得分:10)
从链接文章的意义上讲,Windows没有离散的窗口管理器。窗口系统负责绘制窗口,“shell” - 通常是资源管理器 - 负责在桌面上显示任务栏和任何图标。
然后,窗口管理器的外观是Microsoft Windows中的一个紧急属性:所有窗口都有一个处理消息的WindowProc - 所有未由应用程序代码处理的消息必须传递给名为DefWindowProc的函数。 DefWindowProc处理窗口非客户区域中的点击,以执行窗口管理器的典型任务 - 调整大小,移动,最大化等。
因为所有窗口的WindowProcs都可以选择如何处理消息,所以他们可以选择不通过处理消息来实现典型的窗口管理器行为,而不是调用DefWindowProc。
任务栏 - 由资源管理器提供 - 提供操作窗口的按钮,但最终(a)它只是一个常规窗口本身,(b)它向窗口发送消息以使它们自己最大化,最小化,恢复等,所以,任何特定的窗口都可以选择不像其他窗口一样。
DefWindowProc在user32.dll中实现 - 所以 是窗口管理器。
答案 1 :(得分:5)
它有一个非常原始的名字 - 它被称为“Desktop Window Manager”。你可以看到他们认真考虑如何使这一点完全正确。
(这显然与微软营销部门完全没有关系,否则它会被称为疯狂和无关的东西,如银器或航空。)
答案 2 :(得分:1)
它被称为“Windows资源管理器”
答案 3 :(得分:0)
在屏幕上绘制线条和像素的东西传统上是GDI(gdi32.dll),或者现在是WDDM(用于Win7) - Windows显示驱动程序模型,其中还有另外一个,DWM - 桌面窗口管理器。
最重要的是,您拥有Aero,然后是Windows资源管理器,可以显示和操作窗口。
哦,是的,我差点忘了Direct2D,这是另一个适合某处的渲染层。我想他们有一天会想出最终技术,这将成为未来25年图形和窗口的基础。