2010-09-14 48 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

回答