• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            一個Windows API的SHGetFileInfo()方法的Wrapper

            頭文件
            /// @class CSHGetFileInfo
            /// SHGetFileInfo的包裹類

            class CSHGetFileInfo
            {

            public:
                CSHGetFileInfo();

                
            virtual ~CSHGetFileInfo();

                
            /// 獲取系統圖像列表
                
            /// @param[in] bSmallIcon ture則為小圖標,false則為大圖標

                HIMAGELIST  GetSystemImageListHandle( BOOL bSmallIcon );

                
            /// 獲取系統圖片列表的文件圖片索引
                
            /// @param[in] strFileName 文件名
                
            /// @param[in] bSmallIcon ture則為小圖標,false則為大圖標

                int GetFileIconIndex( CString strFileName, BOOL bSmallIcon);

                
            /// 獲取系統圖片列表的文件夾圖片索引
                
            /// @param[in] bSmallIcon

                int GetDirIconIndex(BOOL bSmallIcon);

                
            /// 獲取文件的icon的句柄
                
            /// @param[in] strFileName 文件名
                
            /// @param[in] bSmallIcon ture則為小圖標,false則為大圖標

                HICON GetFileIconHandle(CString strFileName, BOOL bSmallIcon);

                
            /// 獲取文件夾的icon的句柄
                
            /// @param[in] bSmallIcon ture則為小圖標,false則為大圖標

                HICON GetFolderIconHandle(BOOL bSmallIcon );

                
            /// 獲取文件類型
                
            /// @param[in] strFileName 文件名

                CString GetFileType(CString strFileName);

            }
            ;


            cpp文件
            CSHGetFileInfo::CSHGetFileInfo()
            {

            }


            CSHGetFileInfo::
            ~CSHGetFileInfo()
            {

            }



            HIMAGELIST  CSHGetFileInfo::GetSystemImageListHandle( BOOL bSmallIcon )
            {
                HIMAGELIST  hSystemImageList; 
                SHFILEINFO    ssfi; 

                
            if (bSmallIcon)
                
            {
                    hSystemImageList 
            = 
                        (HIMAGELIST)SHGetFileInfo( 
                        (LPCTSTR)_T(
            "c:\\"), 
                        
            0
                        
            &ssfi, 
                        
            sizeof(SHFILEINFO), 
                        SHGFI_SYSICONINDEX 
            | SHGFI_SMALLICON); 
                }

                
            else
                
            {
                    hSystemImageList 
            = 
                        (HIMAGELIST)SHGetFileInfo( 
                        (LPCTSTR)_T(
            "c:\\"), 
                        
            0
                        
            &ssfi, 
                        
            sizeof(SHFILEINFO), 
                        SHGFI_SYSICONINDEX 
            | SHGFI_LARGEICON); 
                }

                
            return hSystemImageList;
            }



            int CSHGetFileInfo::GetFileIconIndex( CString strFileName, BOOL bSmallIcon )
            {
                SHFILEINFO    sfi;

                
            if (bSmallIcon)
                
            {
                    SHGetFileInfo(
                        (LPCTSTR)strFileName, 
                        FILE_ATTRIBUTE_NORMAL,
                        
            &sfi, 
                        
            sizeof(SHFILEINFO), 
                        SHGFI_SYSICONINDEX 
            | SHGFI_SMALLICON | SHGFI_USEFILEATTRIBUTES);
                }

                
            else
                
            {
                    SHGetFileInfo(
                        (LPCTSTR)strFileName, 
                        FILE_ATTRIBUTE_NORMAL,
                        
            &sfi, 
                        
            sizeof(SHFILEINFO), 
                        SHGFI_SYSICONINDEX 
            | SHGFI_LARGEICON | SHGFI_USEFILEATTRIBUTES);
                }


                
            return sfi.iIcon;

            }


            int CSHGetFileInfo::GetDirIconIndex(BOOL bSmallIcon )
            {
                SHFILEINFO    sfi;
                
            if (bSmallIcon)
                
            {
                    SHGetFileInfo(
                        (LPCTSTR)
            "Doesn't matter"
                        FILE_ATTRIBUTE_DIRECTORY,
                        
            &sfi, 
                        
            sizeof(SHFILEINFO), 
                        SHGFI_SYSICONINDEX 
            | SHGFI_SMALLICON | SHGFI_USEFILEATTRIBUTES);
                }

                
            else
                
            {
                    SHGetFileInfo(
                        (LPCTSTR)
            "Doesn't matter"
                        FILE_ATTRIBUTE_DIRECTORY,
                        
            &sfi, 
                        
            sizeof(SHFILEINFO), 
                        SHGFI_SYSICONINDEX 
            | SHGFI_LARGEICON | SHGFI_USEFILEATTRIBUTES);

                }

                
            return sfi.iIcon;

            }

            HICON CSHGetFileInfo::GetFileIconHandle(CString strFileName, BOOL bSmallIcon)
            {

                SHFILEINFO    sfi;
                
            if (bSmallIcon)
                
            {
                    SHGetFileInfo(
                        (LPCTSTR)strFileName, 
                        FILE_ATTRIBUTE_NORMAL,
                        
            &sfi, 
                        
            sizeof(SHFILEINFO), 
                        SHGFI_ICON 
            | SHGFI_SMALLICON | SHGFI_USEFILEATTRIBUTES);
                }

                
            else
                
            {
                    SHGetFileInfo(
                        (LPCTSTR)strFileName, 
                        FILE_ATTRIBUTE_NORMAL,
                        
            &sfi, 
                        
            sizeof(SHFILEINFO), 
                        SHGFI_ICON 
            | SHGFI_LARGEICON | SHGFI_USEFILEATTRIBUTES);
                }

                
            return sfi.hIcon;


            }

            HICON CSHGetFileInfo::GetFolderIconHandle(BOOL bSmallIcon )
            {
                SHFILEINFO    sfi;
                
            if (bSmallIcon)
                
            {
                    SHGetFileInfo(
                        (LPCTSTR)
            "Doesn't matter"
                        FILE_ATTRIBUTE_DIRECTORY,
                        
            &sfi, 
                        
            sizeof(SHFILEINFO), 
                        SHGFI_ICON 
            | SHGFI_SMALLICON | SHGFI_USEFILEATTRIBUTES);
                }

                
            else
                
            {
                    SHGetFileInfo(
                        (LPCTSTR)
            "Does not matter"
                        FILE_ATTRIBUTE_DIRECTORY,
                        
            &sfi, 
                        
            sizeof(SHFILEINFO), 
                        SHGFI_ICON 
            | SHGFI_LARGEICON | SHGFI_USEFILEATTRIBUTES);
                }

                
            return sfi.hIcon;
            }


            CString CSHGetFileInfo::GetFileType(CString strFileName)
            {
                SHFILEINFO    sfi;

                SHGetFileInfo(
                    (LPCTSTR)strFileName, 
                    FILE_ATTRIBUTE_NORMAL,
                    
            &sfi, 
                    
            sizeof(SHFILEINFO), 
                    SHGFI_TYPENAME 
            | SHGFI_USEFILEATTRIBUTES);

                
            return sfi.szTypeName;
            }


            posted on 2008-05-05 13:50 楊粼波 閱讀(1826) 評論(1)  編輯 收藏 引用

            評論

            # re: 一個Windows API的SHGetFileInfo()方法的Wrapper 2012-01-31 15:13 飛飛龍

            學習了  回復  更多評論   

            精品久久久久久无码免费| 亚洲精品NV久久久久久久久久| 性欧美大战久久久久久久| 午夜精品久久久久久影视riav| 久久久久久久波多野结衣高潮| 久久久久久午夜成人影院| 国产69精品久久久久99| 久久久精品人妻一区二区三区蜜桃 | 内射无码专区久久亚洲| 免费精品久久天干天干| 久久国产精品99久久久久久老狼| 免费一级欧美大片久久网| 97热久久免费频精品99| 热久久最新网站获取| 久久青青草原综合伊人| 亚洲国产精品久久电影欧美| 国产免费久久精品丫丫| 国产成人精品白浆久久69| 伊人久久成人成综合网222| 激情综合色综合久久综合| 色欲久久久天天天综合网| 亚洲国产日韩欧美综合久久| 国内精品久久久久影院网站| 伊人色综合久久天天人手人婷| 久久精品亚洲欧美日韩久久| 久久99精品国产99久久6男男| 狠狠综合久久AV一区二区三区 | 久久免费观看视频| 俺来也俺去啦久久综合网| 久久免费看黄a级毛片| 性高朝久久久久久久久久| 四虎久久影院| 亚洲欧美精品一区久久中文字幕| 久久久91人妻无码精品蜜桃HD| 99久久婷婷国产一区二区| 久久电影网| 久久这里只有精品视频99| 久久精品国产清自在天天线| 久久国产美女免费观看精品| 久久e热在这里只有国产中文精品99| 91久久精品电影|