怎样使用SHGetFileInfo来获取文件的属性?使用SHGFI_ATTRIBUTES标记位,然后psfi->dwAttributes & SFGAO_FOLDER来判断是否文件夹可以吗?

解决方案 »

  1.   


    hres = psf->ParseDisplayName(NULL,
    NULL,
    lpwszDisplayName,
    &cbEaten,
    &pidl,
    &dwAttribs);
    if(dwAttribs & SFGAO_FOLDER )
      

  2.   

    SHFILEINFO fileInfo;
              SHGetFileInfo(lpszFileName, NULL, &fileInfo, sizeof(fileInfo), 
                            SHGFI_ATTRIBUTES|SHGFI_TYPENAME);
     
              // Create a submenu if this item is a folder
              // and it is not a channel shortcut.
              if ((fileInfo.dwAttributes & SFGAO_FOLDER)
                 && strcmp(fileInfo.szTypeName, _T("Channel Shortcut")) != 0)
              {
      

  3.   

    判断是否为文件夹可以直接用 if (GetFileAttributes("c:\\winnt") & FILE_ATTRIBUTE_DIRECTORY)