.NET: comment créer des superpositions d’icons de fichiers

J’essaie d’append des superpositions d’icons différentes sur les icons de différents fichiers (remarque: pas tous les fichiers d’un certain type, juste certains fichiers). Si vous n’obtenez pas ce que je veux dire, je me réfère aux programmes comme TortoiseSVN, TortoiseHG, Dropbox, etc.

Cela peut-il être fait en .NET? Si c’est le cas, comment? J’espère qu’il y aura une bibliothèque pour ça. J’ai trouvé cet article CodeProject sur quelque chose comme ça, mais ce n’est pas .NET.

Merci d’avance.

Non, ce n’est pas .NET. La programmation shell est du domaine du C / C ++ non géré. Shell32.dll a une bibliothèque de types qui rend certaines fonctions disponibles pour les langages de script et .NET. Mais l’interface IShellIconOverlay hérite de IUnknown, non accessible aux scripts. C’est techniquement possible, mais vous devrez redéclarer l’interface en C #, en utilisant la déclaration du fichier d’en-tête ShlObj.h du SDK comme modèle. Quelqu’un l’a probablement fait quelque part, mais il est rare d’essayer de le faire fonctionner. Une recherche rapide sur Google ne s’avère pas utile.

Heureusement, .NET 4.0 va relancer une certaine activité, en résolvant le problème d’injection de version CLR. Je n’en ai pas encore vu de signe.