Obtenir les informations relatives à l'extension d'un fichier

Description

En developpant un site de gestion de documents, j’ai eu besoin d’obtenir l’icone associé à un type de fichier.

En soit, cela n’est pas très compliqué : on ouvre la base de registre (merci Microsoft.Win32.RegistryKey), on recupère l’information depuis HKEY_CLASSES_ROOT\{mon_extension}, on prends la valeur de la sous-clef DefaultIcon (avec le plus souvent une redirection : la valeur de la clef {mon_extension} donnant le nom d’une autre sous-clef de HKEY_CLASSES_ROOT à ouvrir). A partir de ces informations, nous pouvons determiner le path vers l’icone. Facile à écrire ! Là où ça ce complique, c’est que la plupart des icones sont contenu dans une DLL ou un EXE. Et que, à moins d’un oubli de ma part, .net ne propose pas de methode pour extraire une resource depuis un module executable.

Quelques instants passés dans mes souvenirs et l’API Windows ExtractIcon m’est apparue dans toute sa splendeur : cette fonction fait exactement ce dont j’avais besoin. Eh bien, qu’à cela ne tienne, avec un peu d’interop, on arrive à tout faire.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.