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

Signaler
Messages postés
4
Date d'inscription
mardi 17 août 2004
Statut
Membre
Dernière intervention
15 novembre 2005
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
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

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
36
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#]
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
J'ai pô compris la question , qu'as tu compris Seb ?
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
92
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#
*/