У меня есть простой файловый браузер, и там я отображаю файлы и папки,
получено (для справочника)
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 ?!) и т. Д. Что функция оболочки делает с этими параметрами? Точно какой значок он получает?
Опять же, это не проблема, мне просто любопытно.