본문 바로가기

Windows/MFC

SHGetFileInfo (시스템 아이콘 찾기)

[code]int CDunzipCloneDlg::GetIconIndex(bool bType)
{
    int nVersion;

    // 디렉토리면 윈도우 버전에 맞춰서 리턴
    if(bType == false)
    {
        //윈도우 버전 알기 0이면 98아래 1이면 2000 위
        nVersion = (int)GetVersion();

        if(nVersion < 0)
        {
            return 3;
        }
        else
        {
            return 8;
        }
    }

    CString szDummyFileName     = "*";
    szDummyFileName            += m_szExtension;
    ZeroMemory(&m_shfi, sizeof(SHFILEINFO));
    SHGetFileInfo(szDummyFileName, FILE_ATTRIBUTE_NORMAL, &m_shfi, sizeof(m_shfi), SHGFI_ICON | SHGFI_USEFILEATTRIBUTES);

    return m_shfi.iIcon;
}[/code]