Se você observar a referência Ícones e sobreposições de ícones ou mais especificamente Como criar manipuladores de ícones e Como implementar manipuladores de sobreposições de ícones , verá que é necessário implementar um componente DLL / COM.
A DLL precisa implementar determinadas interfaces ( IUnknown
e IShellIconOverlayIdentifier
até onde eu sei) e será chamada pelo processo do Windows Explorer ao exibir um ícone. Para que isso aconteça, você precisa criar uma entrada no registro. Como você provavelmente deseja que essa sobreposição seja exibida para todos os tipos de arquivos, você provavelmente precisará se registrar para um tipo de arquivo geral.
Mais tarde GetOverlayInfo
, será chamado para registrar seu ícone e IsMemberOf
indicar sempre que você deseja que sua sobreposição seja exibida.
Quanto à identificação de arquivos ou armazenamento de informações sobre eles, você pode usar um Fluxo de Dados Alternativo, embora isso signifique que ele funcionaria apenas / principalmente para NTFS e, como você disse, não é realmente parte da sua pergunta.
Se você ler este artigo de ajuda para o DropBox, verá que a chave do registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
também pode / seria importante para decidir quais ícones serão exibidos.