[C#] Création d'une DLL ou EXE avec icones

Résolu
linuxludo Messages postés 4 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 15 novembre 2005 - 15 nov. 2005 à 15:50
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 19 nov. 2005 à 20:19
Bonjour a tous !

J' ai développé une appli, et je voudrais a present concevoir une dll (ou intégrer a l'exe, a voir) qui contient les icones de cet appli, a savoir les differentes icones des fichiers de sauvegarde...

Je précise toute fois que j'aimerais récupérer ces icones afin de changer l'icone d'un racourcis windows, par exemple.

j'ai deja essayer des les integrer a ma solution VS en tant que ressources incorporées...mais ca ne fonctionne pas !

Merci d'avance pour votre aide

3 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
15 nov. 2005 à 16:24
de mémoire... les ressources des dll .net ne sont pas accessible par windows...

donc, il faut que tu passes par c++

Sébastien FERRAND
[MVP C#]
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
15 nov. 2005 à 19:51
J'ai pô compris la question , qu'as tu compris Seb ?
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
19 nov. 2005 à 20:19
Salut,

En fait si, c'est faisable, mais dans l'opération on perd les ressources existantes de l'assembly.
Pour l'icone ce n'est pas génant, il suffit de la remettre en haut de la liste de celles que l'on veut ajouter, mais pour les infos de version c'est un peu plus génant.

Pour info il suffit de se créer un fichier "Icons.rc" (par exemple) contenant ceci (avec ici les icones se trouvant dans un répertoire "Icons" au même niveau de l'arbo que le fichier rc) :
IDI_APP ICON "Icons\\app.ico"
IDI_ICO ICON "Icons\\ico.ico"
...
Puis de le compiler :
rc.exe Icons.rc
En sortie on obtient un fichier "Icons.res"

1) Désassembler l'exe avec ildasm :
ildasm.exe Appli.exe /nobar /output:Appli.il
2) Réassembler en modifiant les ressources :
ilasm.exe Appli.il /exe /output:AppliWithIcons.exe /ressource:Icons.res

"AppliWithIcons.exe" contient maintenant les icônes voulues en ressources, mais les autres resssources présentent avant (que vous retrouverez sous la forme de "Appli.res" qu'a générer ildasm) ne sont plus présentes...

Mais dans ton cas si tu veux juste une dll "conteneur", tu peux aussi ajouter les infos de version au fichier rc, comme ta dll ne changera pas souvent : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tools/tools/versioninfo_resource.asp

/*
coq
MVP Visual C#
*/
Rejoignez-nous