[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
6351
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
38
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#]
3
Lutinore
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Membre
Dernière intervention
27 octobre 2012
42
15 nov. 2005 à 19:51
J'ai pô compris la question , qu'as tu compris Seb ?
0
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
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#
*/
0