当前位置:首页 » DLL相关 » 正文

从 Windows 95 开始一直在 shell32.dll 中存在的一个大树图标是出自哪里?

1814 人参与  2016年01月28日 09:11  分类 : DLL相关  评论
该图标的资源ID号是42,根据Windows源码中的记录可以找到它的名字:

// Icon id's
#define IDI_DOCUMENT            1      // generic document (blank page)
#define IDI_DOCASSOC            2      // generic associated document (with stuff on the page)
#define IDI_APP                 3      // application (exe)
#define IDI_FOLDER              4      // folder
#define IDI_FOLDEROPEN          5      // open folder
#define IDI_DRIVE525            6      // 5.25 floppy
#define IDI_DRIVE35             7      // 3.5  floppy
#define IDI_DRIVEREMOVE         8      // Removeable drive
#define IDI_DRIVEFIXED          9      // fix disk, regular hard drive
#define IDI_DRIVENET            10     // Remote drive
#define IDI_DRIVENETDISABLED    11     // Remote drive icon (disconnected)
#define IDI_DRIVECD             12     // CD-ROM drive
#define IDI_DRIVERAM            13     // RAM drive
#define IDI_WORLD               14     // World
#define IDI_NETWORK             15     // Network
#define IDI_SERVER              16     // Server
#define IDI_PRINTER             17     // Printer
#define IDI_MYNETWORK           18     // The My Network icon
#define IDI_GROUP               19     // Group

// Startmenu images.
#define IDI_STPROGS             20
#define IDI_STDOCS              21
#define IDI_STSETNGS            22
#define IDI_STFIND              23
#define IDI_STHELP              24
#define IDI_STRUN               25
#define IDI_STSUSPEND           26
#define IDI_STEJECT             27
#define IDI_STSHUTD             28

// Overlays.
#define IDI_SHARE               29     // shared thing (overlap)
#define IDI_LINK                30     // link icon (overlap)
#define IDI_SLOWFILE            31     // slow file icon (overlap)
#define IDI_RECYCLER            32
#define IDI_RECYCLERFULL        33
#define IDI_RNA                 34     // Remote Network Services
#define IDI_DESKTOP             35     // Desktop icon

// More Startmenu images.
#define IDI_STCPANEL            36
#define IDI_STSPROGS            37
#define IDI_STPRNTRS            38
#define IDI_STFONTS             39
#define IDI_STTASKBR            40
#define IDI_CDAUDIO             41      // CD Audio Disc

#define IDI_TREE                42      // Network Directory Tree
#define IDI_STCPROGS            43
#define IDI_STFAV               44      // Start menu's favorite icon
#define IDI_STLOGOFF            45
#define IDI_STFLDRPROP          46
#define IDI_WINUPDATE           47

就是它
#define IDI_TREE                42      // Network Directory Tree

注释是Network directory tree,再没有其它信息(代码为NT4网络泄露的源码,整个源码中再没有对这个宏的引用,也再没有类似的定义)。
根据资源浏览器查看资源信息,这个图标只有32*32和16*16两个版本,并且都是16色的:

那么根据wiki上的描述(ICO (file format)),Win98时代就已经支持超过16色的图标了,如果这个图标在Win98时代继续使用,那么Windows应该会出更新的版本。所以,这个图标的使用应该早于Windows 98,甚至早于Windows 95.wiki上有一句话:Support for 16 colors was introduced in Windows 3.0.(注:有来源请求的要求),那么这个图标最早可能在Windows 3.0时代,并最晚不会超过Windows95.由于我本机上能找到的最早安全镜像只有Win98,所以无法验证Win3.0时代这个图标用在什么地方,所以只能根据代码里猜测它可能是一个曾经用于表达网络目录树的图标,可能存在于Win3.0~Win95之间(更新:Win95中有这个图标,但由于Win95配置网络太复杂,所以没找到具体它用在哪里)。为什么微软不移除这个图标?因为考虑到兼容性必须保留它,42是它的resource ID,即使后续没有人使用了,这个ID也不会被别人使用。

打赏

本文链接:https://www.zhaodll.cn/postd36.html

<< 上一篇 下一篇 >>

Copyright www.zhaodll.cn Rights Reserved. 沪ICP备15055056号-1 沪公网安备 31011602001667号