深入探究 SHGetFileInfo 函数:文件信息获取的强大工具
1. 从传统文件概念到现代文件对象
曾经,文件和目录的属性是有限且明确的,包括时间、日期、大小以及表示状态的标志,如“只读”“隐藏”“存档”或“系统”。但随着 Windows 95 和 Windows NT 4.0 的出现,“文件”的概念得到了扩展。现在,文件是指属于 shell 的任何对象,不一定是文件系统的一部分。
属于 shell 命名空间的对象被称为文件对象。这里的“命名空间”与 C++ 关键字无关,“shell 命名空间”指的是构成 shell 的所有命名项的集合,它们都显示在资源管理器的树视图中。并非所有文件对象都是文件系统中的条目,例如“打印机”和“我的电脑”。包含其他子文件对象的文件对象称为文件夹对象,而文件和目录只是最常见的文件对象类型。
这种变化可能是迈向曾经被称为“Cairo”的第一步,“Cairo”是微软的全面向对象操作系统,旨在将 Windows 9x 和 Windows NT 融合为单一产品。尽管如今关于其面向对象特性的炒作已经消失,但统一操作系统仍然是一个正在进行的项目。
如今,文件对象的属性集包括 MS - DOS 下文件的所有属性,再加上由于 Windows 9x 和 Windows NT 图形化特性而增加的一些属性。shell API 提供了一个强大的函数 SHGetFileInfo() 来调查文件对象的属性,无论是普通文件、目录、系统文件夹还是像打印机或拨号连接这样的系统对象。
2. SHGetFileInfo 函数概述
2.1 函数原型与功能
超级会员免费看
订阅专栏 解锁全文

2210

被折叠的 条评论
为什么被折叠?



