2010-11-27 3 views
6

J'ai associé un certain type de fichier XML (.xmlentity) à mon application (.net) et j'aimerais avoir différentes icônes basées sur le contenu (nom de l'élément racine) de ces fichiers.Différentes icônes pour les fichiers avec la même extension mais un contenu différent?

<note xmlns="mynamespace"></note> devrait avoir une sorte d'icône et

<notebook xmlns="mynamespace"></notebook> devrait avoir un autre.

Est-ce possible d'une manière ou d'une autre sans avoir d'extensions de fichier différentes?

Son okey si son fonctionne seulement sur Windows 7.

+4

Visual Studio fait avec les fichiers .sln (différents icône pour ceux créés dans VS2008 vs ceux créés dans VS2010). Je ne suis pas sûr de ce que le mécanisme est, cependant. –

+0

Relié mais pas le même: http://superuser.com/q/317885/13889 – endolith

Répondre

3

Vous recherchez Icon Handler . Il est implémenté en tant qu'extension shell. Malheureusement, MSDN ne donne aucun exemple de code spécifique à un gestionnaire d'icônes, mais cet article décrit au moins les conditions requises pour une telle extension de shell. Cet article peut également être utile: Creating Shell Extension Handlers.

0

Malheureusement pas. Une icône pour un type de fichier. Cependant, je l'ai vu des programmes créer un aperçu en se branchant sur le shell (Windows Photo Viewer est un exemple de base de cela. « Trackmania » a également des captures d'écran d'aperçu de ses fichiers de données)

Shell Preview Host on MSDN

+3

C'est certainement possible parce que Visual Studio montre différentes icônes pour les fichiers .SLN créés avec VS2008 ou VS2010. Exactement comment ça marche, je ne sais pas. –

+1

Je suis d'accord que cela devrait être possible. Sur mon système XP, un fichier .xml qui est en fait un fichier Excel est affiché avec l'icône Excel même si .xml est associé à une application différente. Il semble donc y avoir un moyen de faire dépendre l'icône du contenu du fichier. Je n'ai cependant aucune idée de comment cela fonctionne. –

Questions connexes