EMBEDDED ICON DANS VISUAL C#: INTÉGRER DES ICONES À SON PROGRAMME
zcrew
Messages postés231Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention26 février 2010
-
20 avril 2004 à 10:29
36Arnaud36
Messages postés1Date d'inscriptionvendredi 17 février 2006StatutMembreDerniè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.
Ramulo
Messages postés2Date d'inscriptionvendredi 9 avril 2004StatutMembreDernière intervention12 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és5Date d'inscriptionjeudi 20 mars 2003StatutMembreDernière intervention17 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és5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 19 oct. 2006 à 12:05
safisoft
Messages postés489Date d'inscriptionvendredi 30 janvier 2004StatutMembreDernière intervention13 mai 20096 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és1Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention22 février 2007 17 août 2004 à 05:16
Salut !
Et merci pour ton astuce.
+1
streetlife
Messages postés49Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention10 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és5Date d'inscriptionjeudi 20 mars 2003StatutMembreDernière intervention17 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és49Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention10 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és49Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention10 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és5Date d'inscriptionjeudi 20 mars 2003StatutMembreDernière intervention17 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és49Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention10 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és231Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention26 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
6 mai 2010 à 14:57
using System.Resources;
ResourceManager rm = new ResourceManager(typeof( myNamespace.Properties.Resources));
Icon MyIcon = (Icon)rm.GetObject("NomDeMaRessource");
12 oct. 2007 à 12:04
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.
19 oct. 2006 à 16:50
Merci pour vos remarques ! :)
19 oct. 2006 à 12:05
19 oct. 2006 à 11:02
- 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"));
17 août 2004 à 05:16
Et merci pour ton astuce.
+1
10 juin 2004 à 14:22
10 juin 2004 à 14:17
"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
10 juin 2004 à 13:03
Voila, @+
9 juin 2004 à 21:58
9 juin 2004 à 21:40
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
9 juin 2004 à 19:19
20 avril 2004 à 10:29
Merci beaucoup et félicitations