我有一个简单的文件浏览器,并有我显示文件和文件夹,

通过获得(对于目录)

SHFILEINFO info = new SHFILEINFO();
SHGetFileInfo(filename,
FILE_ATTRIBUTE_DIRECTORY,
ref info,Marshal.SizeOf(info),
SHGFI_ICON | SHGFI_USEFILEATTRIBUTES | SHGFI_SMALLICON | SHGFI_ADDOVERLAYS);

它工作100%的罚款,但我注意到一个古怪 - 如果我试图获得目录中的图标,但指定FILE_ATTRIBUTE_NORMAL代替FILE_ATTRIBUTE_DIRECTORY 但它确实怪异的东西,用于目录 - 普通文件夹有“未知文件类型白皮书”图标,回收站图标VLC等SVN目录下有适当的覆盖,但基本文件图标(白纸上)。

我理解目录基础图标现在是未知文件的一个,但为什么有些文件夹具有完全陌生的图标? Config.MSI有安装程序图标,回收站图标VLC(WTF?!),等什么是壳功能做这个参数?究竟是什么图标它获得?

再次,这是没有问题的,我只是好奇。

有帮助吗?

解决方案

据我所知图标资源由他们的数字索引访问,所以我的猜测是正确的指标是牵强,并且图标然后取出从任何错误的库中,或从正确的,但用错了偏移+正确的索引。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top