5

我有一个简单的问题,

我搜索 Windows 窗口管理器的确切名称。

对于 Unix:X 窗口系统

Mac : 石英

窗户:?

谢谢。

4

4 回答 4

10

在链接文章的意义上,Windows 没有独立的窗口管理器。窗口系统负责绘制窗口,而“外壳”——通常是资源管理器——负责在桌面上显示任务栏和任何图标。

然而,窗口管理器的出现是 Microsoft Windows 中的一个新兴属性:所有窗口都有一个处理消息的 WindowProc - 并且所有未被应用程序代码处理的消息都必须传递给一个名为 DefWindowProc 的函数。DefWindowProc 处理窗口非客户区的点击,以执行窗口管理器的典型任务——调整大小、移动、最大化等等。

因为所有窗口的 WindowProc 都可以选择如何处理消息,所以它们可以通过自己处理消息而不调用 DefWindowProc 来选择不实现典型的窗口管理器行为。

任务栏 - 由资源管理器提供 - 提供操作窗口的按钮,但最终(a)它只是一个常规窗口本身,并且(b)它向窗口发送消息以使它们自己最大化,最小化,恢复等,所以再次,任何特定窗口都可以选择不像其他窗口那样工作。

DefWindowProc 是在 user32.dll 中实现的——所以就是窗口管理器。

于 2010-05-19T21:55:02.710 回答
5

它有一个非常原始的名字——它叫做“桌面窗口管理器”。您可以看到他们对如何完全正确地进行了长期而艰苦的思考。

(这显然与微软营销部门毫无关系,否则它会被称为疯狂和无关的东西,比如 silverstuff 或 aero。)

于 2010-03-05T10:13:37.583 回答
2

它被称为“Windows 资源管理器”

请参阅http://en.wikipedia.org/wiki/Window_manager

于 2010-03-05T10:13:03.580 回答
0

在屏幕上绘制线条和像素的东西传统上是 GDI (gdi32.dll),或者现在是 WDDM(用于 Win7) - Windows 显示驱动程序模型,在此之上还有另一个层,DWM - 桌面窗口管理器.

最重要的是,您拥有 Aero,然后是显示和操作窗口的 Windows 资源管理器。

哦,是的,我几乎忘记了 Direct2D,它是另一个适合在某处的渲染层。我想他们有一天会想出最终的技术,这将成为未来 25 年图形和窗口的基础。

于 2010-05-19T22:13:58.500 回答