EMBEDDED ICON DANS VISUAL C#: INTÉGRER DES ICONES À SON PROGRAMME

zcrew Messages postés 231 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 26 février 2010 - 20 avril 2004 à 10:29
36Arnaud36 Messages postés 1 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 6 mai 2010 - 6 mai 2010 à 14:57
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/21909-embedded-icon-dans-visual-c-integrer-des-icones-a-son-programme

36Arnaud36 Messages postés 1 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 6 mai 2010
6 mai 2010 à 14:57
Pour récupèrer une ressource du gestionnaire de ressource de l'application.

using System.Resources;

ResourceManager rm = new ResourceManager(typeof( myNamespace.Properties.Resources));

Icon MyIcon = (Icon)rm.GetObject("NomDeMaRessource");
Ramulo Messages postés 2 Date d'inscription vendredi 9 avril 2004 Statut Membre Dernière intervention 12 octobre 2007
12 oct. 2007 à 12:04
Bonjour,
je souhaite ajouter des icônes dans mon executable et pouvoir les utiliser (pour les associer à une extension de fichier par exemple) en spécifiant leur index dans l'executable. Comme le fait shell32.dll par exemple.
La technique que vous proposez (bien que très intéressante) ne rend pas visibles les icônes de l'executable quand on veut changer l'icône d'un raccourci ou qu'on utilise un programme dédié à cette tâche (Extracteur d'icones en l'occurence).
Y a t'il un moyen de le faire avec Visual 2005 (personnellement je le faisais avec Visual 6 et c'étati bien pratique).
Merci d'avance.
Ziad270 Messages postés 5 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 17 août 2006
19 oct. 2006 à 16:50
Oui...le pb est plus simple à résoudre...il a évolué l'IDE de Microsoft...
Merci pour vos remarques ! :)
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
19 oct. 2006 à 12:05
safisoft Messages postés 489 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 13 mai 2009 6
19 oct. 2006 à 11:02
- Dans votre projet, ajoutez votre fichier image.
- Puis, dans ses propriétés, spécifiez "Action de génération" à : Ressource incorporée.
- Enfin, dans votre code, pour pouvoir chargez votre image, tapez le code suivant :

System.Reflexion.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly();
Bitmap bitmap = new Bitmap(asm.GetManifestResourceStream("Namespace_de_l_assembly.nom_du_fichier"));
cs_siri Messages postés 1 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 22 février 2007
17 août 2004 à 05:16
Salut !
Et merci pour ton astuce.
+1
streetlife Messages postés 49 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 juin 2004
10 juin 2004 à 14:22
Je n'avais pas bien saisi ta source au départ et je pensé que tu indiquais juste comment modifier l'icone de ton exe... Pour la source je vais m'y mettre de suite. @+
Ziad270 Messages postés 5 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 17 août 2006
10 juin 2004 à 14:17
Merci Streetlife pour tes réponses...
"en fait tu peux incorporer, à l'aide de vs.net, toutes sortes de fichiers en les incluant au projet et en indiquant dans la propriété "Action de génération" : Ressource incorporée."

C'était exactement le propos de mon source : cas particulier de l'icone.

Chose que j'ai découverte depuis ma dernière réponse, l'icone intégré via "ressource incorporée" (je travaille avec une version anglaise...c mon "embedded ressource") n'est pas visible dans Reshacker.

Volontiers pour ta future source :)

A+ Street

Ziad O'Hanlon
streetlife Messages postés 49 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 juin 2004
10 juin 2004 à 13:03
J'ai fais pas mal de test et en fait tu peux incorporer, à l'aide de vs.net, toutes sortes de fichiers en les incluant au projet et en indiquant dans la propriété "Action de génération" : Ressource incorporée. Ca peut être un exe comme un zip, une image ou encore une dll. Pour l'appel c'est bien "Assembly.GetManifestResourceStream("monprojet.fichier.extension")". Je lesserai une source à l'occasion avec un exe incorporée (une loupe...).
Voila, @+
streetlife Messages postés 49 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 juin 2004
9 juin 2004 à 21:58
Eh bien non je fais la manip une fois l'exe finalisé. C plus rapide en fait, j'ai rajouter dans le menu "Envoyers vers... > RessourceHacker" comme sa il m'ouvre l'appli direct j'ai plu qu'à cliquer 3 fois et c fini. Pour ce qui est du fait d'appeler une ressource ajouter aprés la compilation, dans ResHack tu peux faire "Action > Ajouter une nouvelle ressource" et ensuite tu fais enregistrer et c'est bon. Maintenant comment appeler cette ressource le fichier une fois compiler... j'avais penser à indiquer à l'exe l'emplacement de la ressource qui n'existe pas et pour eviter l'exception utiliser try-catch, puis ensuite rajouter la ressources et lui donné le nom indiqué à dans la source. Ce que je cherche au moment même ou je te parle, c'est comment accéder à cette ressources... Je tiendrais au courant de toute façon...
Ziad270 Messages postés 5 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 17 août 2006
9 juin 2004 à 21:40
Streetlife,

Je connais ResHacker. Moi je l'utilise bcp aussi(modification de Logon Screen, screen saver..ou Systray icon de certaines applis ...etc...voir meme pour traduire certains exe en FR)
...mais je ne vois pas comment ca peut fonctionner pour le pb que je décris

Je n'avais jamais utilisé la fonction "add a new ressource" de Reshacker (je viens de le relancer pour comprendre ce que tu écris)...ceci dit je ne vois pas bien comment tu peux appeller, dans un prog, des ressources que tu vas ensuite rajouter avec Reshacker dans ton exe...(je suis assez debutant en programmation..donc)

Et...ca m'echappe un peu...mais celà signifie que tu dois faire la manip à chaque fois que tu recompiles ton Exe non?? (si oui....pas très flexible le truc quand meme...voir grave figé meme...)

D'avance merci pour ta réponse...

Ziad O'Hanlon
streetlife Messages postés 49 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 juin 2004
9 juin 2004 à 19:19
Il suffit de télécharger un soft appelé Ressource hacker (gratuit et pas pour le hack comme son nom l'indique!!), d'ouvrir l'exe, d'importer le nouveau fichier icône et d'enregistrer... voila c fait
zcrew Messages postés 231 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 26 février 2010
20 avril 2004 à 10:29
J'ai cherché à faire la même chose pendant quelques temps avant de laisser tomber...
Merci beaucoup et félicitations
Rejoignez-nous