本帖最后由 LH806732 于 2012-11-08 20:26:40 编辑

解决方案 »

  1.   

    晕了,在家里随便用写了一个都可以......
    代码如下:SHGetFileInfo(L"D:\\Qt\\qtcreator-2.4.1\\bin\\qtcreator.exe",
    FILE_ATTRIBUTE_NORMAL,
    &sfi,
    sizeof(SHFILEINFO),
    SHGFI_USEFILEATTRIBUTES |
    SHGFI_DISPLAYNAME |
    SHGFI_TYPENAME |
    SHGFI_ICON|
    SHGFI_LARGEICON);唯一不同的是环境不一样:
    家里:VS2005
    公司:VS2008 + Qt 4.8
      

  2.   

    DWORD_PTR SHGetFileInfo(LPCTSTR pszPath, DWORD dwFileAttributes, SHFILEINFO *psfi, UINT cbFileInfo, UINT uFlags);首先,SHGetFileInfo 返回的不是 HRESULT,其次就算是,其失败了返回 0,你却要判断其是否等于 S_OK((HRESULT)0x00000000L),能通过才怪了。