用于提取我正在使用的特殊文件夹图标
ExtractIconEx(Environment.SystemDirectory + "\\shell32.dll",ncIconIndex, handlesIconLarge, handlesIconSmall, 1);
这里我明确地传递了特殊文件夹的nIconIndex,如MyDocs,MyPictures ..etc 它在XP中运行良好,但在Vista中它没有检索到正确的图标..它检索黄色文件夹图标..不应该是这种情况。 Cn任何人帮助我...
答案 0 :(得分:1)
答案 1 :(得分:1)
因此,您应该做的是,将路径或PIDL获取到您感兴趣的shell文件夹(SHGetFolderPath和朋友),并将该路径/ PIDL传递给SHGetFileInfo。 SHGetFileInfo可以为您提供图标句柄,或索引到系统图像列表。
我不确定这些函数的.NET等价物是什么,但你应该能够弄明白,或使用PInvoke
答案 2 :(得分:0)
我在这个领域看到的最好的例子来自.NET(这是用VB.NET完成的)就在本文中。
http://www.codeproject.com/KB/cpp/VbNetExpTree.aspx
我的$ .02是由于需要COM互操作级别和API的复杂性,使用shell API非常痛苦。