Win7名称空间扩展确定IShellItem是文件还是文件夹

时间:2014-02-26 12:59:49

标签: c++ windows com explorer

我正在为Windows 7开发某种命名空间扩展。我的扩展在所有文件和文件夹的上下文菜单中提供了一些特定于应用程序的内容。但我想以不同的方式处理文件和文件夹。有没有办法确定提供接口对象的IShellItem是文件夹还是文件?

1 个答案:

答案 0 :(得分:2)

您可以使用IShellItem::GetAttributes method,如下所示:

SFGAOF att = 0;
if (SUCCEEDED(pItem->GetAttributes(SFGAO_FOLDER, &att))) // pItem is a IShellItem*
{
    if (att & SFGAO_FOLDER)
    {
        // it's a folder
    }
}