none
comment utiliser un resource RRS feed

Réponses

  • Bonjour,

    Pour retrouver tous les fichiers incorporés d'une assembly :

    string[] mesRessources = Assembly.GetExecutingAssembly().GetManifestResourceNames();

    Pour récupérer un fichier de ressource incorporé :

    Stream monStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Namespace.NomFichier.pdf");

     

    Cordialement

    • Marqué comme réponse Alex Petrescu vendredi 30 avril 2010 10:25
    mardi 27 avril 2010 15:10
  • Bonjour,

    Tu peux enregistrer ton fichier pour le lancer avec le shell :

    string[] mesRessources = Assembly.GetExecutingAssembly().GetManifestResourceNames();
    Stream monStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Namespace.NomFichier.exe");
    
    FileStream monFileStream = new FileStream("NomFichier.exe", FileMode.Create, FileAccess.Write);
    byte[] mesBytes = new byte[monStream.Length];
    int mesBytesLus = 0;
    
    do
    {
    	mesBytesLus = monStream.Read(mesBytes, 0, 256);
              
         if (mesBytesLus > 0)
         {
         		monFileStream.Write(mesBytes, 0, mesBytesLus);
    	}
    } 
    while (mesBytesLus > 0);
                    
    monFileStream.Flush();
    monFileStream.Close();
    monFileStream.Dispose();
    monStream.Close();
    monStream.Dispose();
    
    Process.Start("NomFichier.exe")
    • Marqué comme réponse Alex Petrescu vendredi 30 avril 2010 10:25
    mercredi 28 avril 2010 08:29
  • Bonjour,

    Ajoutez un "using System.Reflection" en haut de code.

    Cordialement


    Gilles TOURREAU - MVP C# - Architecte .NET/Consultant/Formateur
    • Marqué comme réponse Alex Petrescu vendredi 30 avril 2010 10:25
    mercredi 28 avril 2010 11:08
    Modérateur

Toutes les réponses

  • Bonjour,

    Pour retrouver tous les fichiers incorporés d'une assembly :

    string[] mesRessources = Assembly.GetExecutingAssembly().GetManifestResourceNames();

    Pour récupérer un fichier de ressource incorporé :

    Stream monStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Namespace.NomFichier.pdf");

     

    Cordialement

    • Marqué comme réponse Alex Petrescu vendredi 30 avril 2010 10:25
    mardi 27 avril 2010 15:10
  • merci de ta réponse ,j'ai fait un peut prè com ce que ta dit;et çà fonctionne bien;Mais est' ce que çà fonctionne ossi pour un fichier du type(.EXE)???? ou il y a complètement

    cordialement

    mercredi 28 avril 2010 06:48
  • Bonjour JéMarley,

    Cela fonctionne avec tout type d'assembly. Donc "Oui" pour une exe.


    Jérémy Jeanson MCP http://blogs.codes-sources.com/JeremyJeanson/ (French or English Spoken)
    mercredi 28 avril 2010 08:21
  • Bonjour,

    Tu peux enregistrer ton fichier pour le lancer avec le shell :

    string[] mesRessources = Assembly.GetExecutingAssembly().GetManifestResourceNames();
    Stream monStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Namespace.NomFichier.exe");
    
    FileStream monFileStream = new FileStream("NomFichier.exe", FileMode.Create, FileAccess.Write);
    byte[] mesBytes = new byte[monStream.Length];
    int mesBytesLus = 0;
    
    do
    {
    	mesBytesLus = monStream.Read(mesBytes, 0, 256);
              
         if (mesBytesLus > 0)
         {
         		monFileStream.Write(mesBytes, 0, mesBytesLus);
    	}
    } 
    while (mesBytesLus > 0);
                    
    monFileStream.Flush();
    monFileStream.Close();
    monFileStream.Dispose();
    monStream.Close();
    monStream.Dispose();
    
    Process.Start("NomFichier.exe")
    • Marqué comme réponse Alex Petrescu vendredi 30 avril 2010 10:25
    mercredi 28 avril 2010 08:29
  • bjr Jérémy et atmeitsatme;euh je pense ke vous allez unpeut trop vite .

    Enfaite c'est la prémière fois que je porgramme en orienté objet et la langage C#/ je vai testé ton code!!!!!

    j'ai pas compris les ligne:

    string[] mesRessources = Assembly.GetExecutingAssembly().GetManifestResourceNames();
    Stream monStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Namespace.NomFichier.exe");

    merci

    Atmeitsatme, comment specifier que cette partie du programme vas être lancer appartir du shell!!!!

    cordialement j'apprécie

    mercredi 28 avril 2010 08:55
  • ET pour koi,"Assembly"??? par  ce ke çà me génèr des erreur genre comme si je ne l'ai pas déclaré!!!!!(Assembly n'existe pas dans le context actuelle);
    mercredi 28 avril 2010 09:10
  • Bonjour,

    Ajoutez un "using System.Reflection" en haut de code.

    Cordialement


    Gilles TOURREAU - MVP C# - Architecte .NET/Consultant/Formateur
    • Marqué comme réponse Alex Petrescu vendredi 30 avril 2010 10:25
    mercredi 28 avril 2010 11:08
    Modérateur