Laden...

Icon der kopierten EXE-Datei per Code ändern

Erstellt von Serun vor 7 Jahren Letzter Beitrag vor 7 Jahren 2.225 Views
S
Serun Themenstarter:in
16 Beiträge seit 2015
vor 7 Jahren
Icon der kopierten EXE-Datei per Code ändern

Hallo liebe C#-Community,

ich habe eine EXE-Datei (A), dessen Icon durch ein Programm wie IconChanger geändert wurde. Diese EXE-Datei kopiert sich selbst durch File.Copy und ist in einem anderen Verzeichnis wieder zu finden. Das geänderte Icon ist natürlich noch vorhanden.
Ich möchte aber, dass die kopierte EXE-Datei (B) wieder das Default-Icon bekommt, welches Windows regulär für Anwendungen vergibt. Ihr wisst schon, welches ich meine.

Wie kann ich den Quellcode der EXE-Datei (A) so gestalten, dass die EXE-Datei (B) nach dem Kopieren wieder das Default-Icon bekommt?

Hier ein Versuch von mir. Es funktionert. Das Icon wird geändert, aber danach ist das Programm nicht mehr verwendbar und folgende Fehlermeldung erscheint:

Fehlermeldung:
"Die Version dieser Datei ist nicht mit der ausgeführten Windows-Version kompatibel. [...]"

Den Rest der Fehlermeldung kennt ihr ja dann bestimmt.


 class resource
    {
        static void Main(string[] args)
        {
            seticon();
        }

        public static void seticon()
        {
            Bitmap bmp = new Bitmap("Path");
            Icon.FromHandle(bmp.GetHicon()).Save(new FileStream("CSharp-Community.exe", FileMode.Create));
            bmp.Dispose();
        }

    }

Ich sage schon einmal danke im Voraus und freue mich auf eure Antworten.

Liebe Grüße,
Serun

3.511 Beiträge seit 2005
vor 7 Jahren

Hi,

nun ja, du nimmst ein Icon von irgendwo her und speicherst dieses einfach als .exe wieder weg. Dass das nicht gehen kann, sollte klar sein 😃

Mit einfachen mitteln kannst du das nicht ändern, da du an die Resourcentabelle der .exe ran musst. Ich persönlich kenne keinen Weg über c# das zu realisieren. Ggf. nach "modify resource table" oder so suchen. Aber einfach wird es wahrscheinlich nicht.

Gruß
Khalid

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

2.207 Beiträge seit 2011
vor 7 Jahren

Hallo

habs nicht komplett durchgelesen, aber eventuell hilft:

Programmatically change the icon of the executable

weiter.

Wie Khalid aber schon sagte: Einfach oder schön ist das nicht 😉

Gruss

Coffeebean

S
Serun Themenstarter:in
16 Beiträge seit 2015
vor 7 Jahren

Ok, verstehe. Danke für eure Antworten.