O ícone do arquivo aparece no sistema operacional Windows à esquerda do nome do arquivo e representa o tipo de arquivo. Quando um usuário clica em qualquer lugar na linha de um arquivo específico, o ícone aparece em destaque.
No Windows, os ícones de tipo de arquivo são recuperados do registro, especificamente da chave de registro HKEY_CLASSES_ROOT\.ext, onde \.ext é a extensão do arquivo. Por exemplo, a chave para recuperar ícones de arquivos com extensão .jpg seria HKEY_CLASSES_ROOT\jpg. O valor padrão da chave é o ProgId do aplicativo registrado para abrir esse tipo de arquivo. O ícone pode ser recuperado do arquivo de recursos do aplicativo usando APIs como LoadIcon e ExtractIcon. Caso a chave não exista ou não tenha um valor padrão ou seu CLSID correspondente não exista, o Windows recupera ícones da extensão shell (se houver) especificada na subchave HKCR\.ext\shellex.
Veja como isso é feito no Mac: O aplicativo Finder do Mac OS X usa a estrutura Core Services para recuperar ícones de arquivos. Cada arquivo possui um recurso denominado kMDItemContentType que contém o Uniform Type Identifier (UTI) do tipo de arquivo, que é uma sequência que identifica o tipo de arquivo. O ícone da UTI correspondente é recuperado do banco de dados do sistema, que geralmente é armazenado no arquivo /System/Library/CoreServices/CoreTypes.bundle. Caso o ícone de um UTI específico não seja encontrado no banco de dados, o aplicativo Finder o recupera do pacote de aplicativos (geralmente localizado na pasta Aplicativos) que está registrado para abrir esse tipo de arquivo.