Я разрабатываю какое-то расширение пространства имен для Windows 7. Мое расширение предоставляет некоторые специфичные для приложения вещи в контекстном меню для всех файлов и папок. Но я хочу обрабатывать файлы и папки по-другому. Есть ли способ определить, если IShellItem
Предоставление интерфейса объекта является папкой или файлом?
Вы можете использовать IShellItem :: GetAttributes метод, как это:
SFGAOF att = 0;
if (SUCCEEDED(pItem->GetAttributes(SFGAO_FOLDER, &att))) // pItem is a IShellItem*
{
if (att & SFGAO_FOLDER)
{
// it's a folder
}
}
Других решений пока нет …