2010-09-14 45 views
2

出于某种原因,调用的SHGetFileInfo一个.lnk文件返回图标的链接覆盖,即使我不提出要求:的SHGetFileInfo返回与覆盖图标时没有被要求

Shell.SHGetFileInfo(path, 0, ref shFileInfo, (uint)Marshal.SizeOf(shFileInfo), 
SHGFI.ICON | SHGFI.SMALLICON | SHGFI.TYPENAME | SHGFI.DISPLAYNAME); 

我使用shFileInfo.hIcon获取图标句柄(Windows 7,x64)。有关为何发生这种情况的任何建议,以及如何在没有覆盖层的情况下获取图标?

+1

有没有可能是有人误键入SHGFI.DISPLAYNAME的值?它应该是0x200。 SHGFI.ADDOVERLAYS是0x20。容易犯错误让某人做出。 – 2010-09-14 23:15:57

+0

已经认为 - 定义是:.ICON = 0x100,.SMALLICON = 0x1,.TYPENAME = 0x400和.DISPLAYNAME = 0x200。 – Melllvar 2010-09-14 23:30:01

回答