C sharp - ¿Cómo puedo agregar un archivo ejecutable(.exe) a los recursos(Resources) del programa con codigo?

 
Vista:
sin imagen de perfil

¿Cómo puedo agregar un archivo ejecutable(.exe) a los recursos(Resources) del programa con codigo?

Publicado por Daniel (4 intervenciones) el 08/02/2017 18:57:23
Agregar un archivo ejecutable (.exe) a los recursos(Resources.resx) del programa

Visual Studio 2015 - Visual C# - Windows Forms Application - .NET Framework 4.6.1


¿Qué hago mal al agregar un archivo ejecutable (.exe) a los recursos(Resources.resx)?

Al pular el boton añade un recurso y hay un listBox que muestra los nombres de los recursos(Resources.resx) pero el recurso añadido no se muestra con los otros recursos en el listBox, no devuelve ningún error. Los nombres de los recursos se cargan correctamente en el listBox, el problema si no me equivoco esta al agregar el nuevo recurso.

Gracias de antemano.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
private void button1_Click(object sender, EventArgs e)
    {
        //Añade un archivo .exe a los recursos(Resources.resx)
        byte[] xa;
 
        xa = FileToByteArray(@"C:\Users\" + System.Environment.UserName + @"\Downloads\executable.exe");
 
        var str = System.Text.Encoding.Default.GetString(xa);
        using (ResXResourceWriter resx = new ResXResourceWriter(@".\Resources.resx"))
        {
            resx.AddResource("myExe", xa);
        }
        //
        //Añade el nombre de los recursos(Resources.resx) existentes al listBox
        ResourceManager mgr = Resources.ResourceManager;
        ResourceSet set = mgr.GetResourceSet(CultureInfo.CurrentCulture, true, true);
        foreach (DictionaryEntry o in set){listBox1.Items.Add((string)o.Key);}
        mgr.ReleaseAllResources();
        //
    }
 
    //Convierte un fichero en una matriz de bytes
    public byte[] FileToByteArray(string fileName)
    {
        byte[] buff = null;
        FileStream fs = new FileStream(fileName,FileMode.Open,FileAccess.Read);
        BinaryReader br = new BinaryReader(fs);
        long numBytes = new FileInfo(fileName).Length;
        buff = br.ReadBytes((int)numBytes);
        return buff;
    }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder