Accéder aux ressources d'une dll [Résolu]

Todsd 3 Messages postés mercredi 9 septembre 2009Date d'inscription 16 avril 2009 Dernière intervention - 15 avril 2009 à 11:11 - Dernière réponse : krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention
- 16 avril 2009 à 14:13
Bonjour à tous, je suis un petit nouveau en C# et WPF et je dois faire un UserControl un peu compliqué (pour moi bien sûr ).

J'ai une application de départ qui à son ouverture doit regarder dans un répertoire, qui lui est passé en paramètre, et pour chaque dll contenu dans ce répertoire, elle doit chercher une image embedded (nommée splash.png) et créer un bouton pour chaque image.

Je viens donc vous demander de l'aide car je ne sais vraiment pas comment faire pour rechercher cette image dans une dll.

Merci d'avance
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention - 15 avril 2009 à 11:31
3
Merci
Salut

La classe Assembly (avec ses méthodes statiques te permettra de trouver l'assembly de ta dll).
Une fois que c'est fait, tu pourras utiliser la méthode GetManifestResourceNames() (toujours de la classe Assembly) afin de voir toutes les ressources de l'assembly, et en l'occurrence, le nom exact de la ressource que tu cherches.
Ensuite, tu devras utiliser GetManifestResourceStream(nom) ce qui te permettra de récupérer le stream et ainsi de créer ton image (je ne sais plus exactement comment on génère une image à partir d'un stream en WPF, mais je sais que ce n'est pas bien compliqué).

Krimog :
while (!(succeed = try())) ;

Merci krimog 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de krimog
Todsd 3 Messages postés mercredi 9 septembre 2009Date d'inscription 16 avril 2009 Dernière intervention - 15 avril 2009 à 13:13
0
Merci
Merci beaucoup e ta réponse, ça marche nickel
Commenter la réponse de Todsd
krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention - 15 avril 2009 à 14:08
0
Merci
Bah de rien ;)

A ce propos, c'est quoi la ligne de code pour générer une Image à partir d'un Stream please ?

Krimog :
while (!(succeed = try())) ;
Commenter la réponse de krimog
Todsd 3 Messages postés mercredi 9 septembre 2009Date d'inscription 16 avril 2009 Dernière intervention - 16 avril 2009 à 13:27
0
Merci
Désolé du temps de réponse, voilà ce que j'ai fait pour mon bouton

foreach (string source in assembly.GetManifestResourceNames())
{
         if (source.Contains("splash"))
         {
             Button b = new Button();
             Image myImage = new Image();
             myImage.Width = 200;

             BitmapImage myBitmapImage = new BitmapImage();
             myBitmapImage.BeginInit();
             myBitmapImage.StreamSource = assembly.GetManifestResourceStream(source);

              myBitmapImage.DecodePixelWidth = 200;
              myBitmapImage.EndInit();

              myImage.Source = myBitmapImage;

             b.Content = myImage;
         }
}
Commenter la réponse de Todsd
krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention - 16 avril 2009 à 14:13
0
Merci
Merci ;)

Krimog : while (!(succeed = try())) ;
- Quand le règlement tu respecteras, ravis de te répondre on sera -
Commenter la réponse de krimog

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.