我制作了一个自定义目录树控件,它使用从中提取的系统图标imageres.dll
文件。我的意思是该文件是从 Windows 目录中读取的,因此根据 Windows 版本,该文件会有多个版本。
下面是确切的 C# 片段:
ImageList.Images.Add("Folder", ExtractSystemIconBitmap("imageres.dll", 4));
ImageList.Images.Add("File", ExtractSystemIconBitmap("imageres.dll", 2));
在我的 Windows 10 上,它看起来没问题,但它可以在不同的 Windows 版本(例如 Vista、7、8 和 8.1)上使用吗?
我的程序至少需要 Windows Vista 才能运行(由于依赖于 .NET Framework 4.5)。
更精确的问题是 - 从 Windows Vista 到 Windows 10,这些图标索引是否恒定?如果不是——更好的方法是什么?
获取图标的正确方法是使用SHGetStockIconInfo。它会告诉您该图标在当前版本的 Windows 中的位置。
如果您想要系统当前的文件夹图标(由于用户自定义,可能不是标准的),请使用SHGetFileInfo
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)