0

我正在详细研究任务管理器,在那里我找到了名为USER Objects的列。现在当我试图搜索它的确切含义时,我得到了以下描述,

任务管理器列说明

进程当前正在使用的 USER 对象的数量。USER 对象是来自窗口管理器的对象,它包括窗口、菜单、光标、图标、挂钩、加速器、监视器、键盘布局和其他内部对象。

这是否意味着,USER 对象就像指向 Cursor、Icons、Monitor 等对象的弱指针,将由所有正在运行的应用程序共享?

4

1 回答 1

1

是的,你有点正确。

一个对象只能通过它的句柄来访问。应用程序不能直接访问对象数据或对象所代表的系统资源。相反,应用程序必须获得一个对象句柄,它可以用来检查或修改系统资源。

在 Windows 下明确标记为对象的实体是 GDI 和 USER 对象:

  • GDI对象是画笔、钢笔、位图、字体、调色板和区域;

  • USER 对象是窗口类、原子、菜单和窗口。

每个句柄在内部维护的表中都有一个条目。这些条目包含资源的地址和识别资源类型的方法。

这些对象的句柄实际上是分别指向 GDI 和 USER 模块的默认数据段的指针。句柄和对象之间的关系隐含在句柄转换为指向 USER 和 GDI 的默认数据段的指针时,指向内部描述对象的数据结构。

于 2015-03-10T05:59:40.433 回答