XIDE - Modifica icona associata al file eseguibile non funzionante.

Forum dedicato ai programmatori di X# in lingua italiana – Italian language forum

Moderator: wriedmann

Post Reply
veliero
Posts: 22
Joined: Sun Feb 25, 2018 11:28 pm

XIDE - Modifica icona associata al file eseguibile non funzionante.

Post by veliero »

Salve,
mi capita di non riuscire a modificare più l'icona del file eseguibile di una mia applicazione in ambiente XIDE. In pratica dopo aver assegnato la prima volta un'icona nelle proprietà dell'applicazione, alla voce

Application Icon: %AppPath%ResourcesiconeGEBAS200.ico

ed avendo ottenuto l'eseguibile con l'icona scelta, se poi ne assegno un'altra (sia usandone una con nome diverso e sia usando quella con lo stesso nome ma rinominando un'altra icona), l'icona associata all'eseguibile che faccio rigenerare (quella cioè che visualizzo in cartella) non cambia.
A qualcuno è già capitata questa cosa?

Saluti
Francesco
User avatar
Chris
Posts: 4961
Joined: Thu Oct 08, 2015 7:48 am
Location: Greece

XIDE - Modifica icona associata al file eseguibile non funzionante.

Post by Chris »

Francesco,

This happened probably because you added a native resource (.rc) file to the app, is that correct? If yes, then for the icon you must also include another .rc file:

Just create a file named like AppIcon.rc, make sure it is simple ANSI text (no UTF8 or Unicode) and put this line in it:

Code: Select all

1 ICON C:<folder of the app>ResourcesiconeGEBAS200.ico
(just insert the full path to your app)

Then add this .rc file with Project->Add Existing->Add Native Resources, recompile, and now it should work.

If it still does not work, please tell us!

.
Chris Pyrgas

XSharp Development Team
chris(at)xsharp.eu
veliero
Posts: 22
Joined: Sun Feb 25, 2018 11:28 pm

XIDE - Modifica icona associata al file eseguibile non funzionante.

Post by veliero »

Ciao Chris,sei sempre attivissimo e pronto ad aiutare tutti e di questo ti ringrazio.
Prima di applicare il tuo suggerimento ho provato ad usare un'altra icona: anchor.ico che ho impostato nella voce

Application Icon: %AppPath%ResourcesiconeAnchor.ico

delle proprietà dell'applicazione.
Come mi aspettavo l'icona del file EXE non è cambiata. Sono andato per curiosità ad usare il programma Resource Hacker che permette di vedere/sostituire le icone all'interno dei file EXE e la mia icona Anchor.ico appariva nell'elenco assieme alle altre che utilizzo nelle finestre GUI e a cui trovo assegnato il nome: 101
Sono passato poi ad applicare il tuo suggerimento; come avevi giustamente intuito, nella mia applicazione soni presenti più file risorse: per le icone, per le toolbar, per le bitmap ed il manifest.rc
Andiamo per ordine:
ho modificato il file risorse delle icone icon.rc aggiungendo la riga che indicavi:

1 ICON "c:XIDEPROJECTSPROGETTI BASEAPPLICATIONSGEBAS200RESOURCESICONEAnchor.ico"GESCAF_ICO ICON "c:XIDEPROJECTSPROGETTI BASEAPPLICATIONSGEBAS200RESOURCESICONEGescaf.ico"GEBAS_ICO ICON "c:XIDEPROJECTSPROGETTI BASEAPPLICATIONSGEBAS200RESOURCESICONEChameleon.ico"INIZIO_ICO ICON "c:XIDEPROJECTSPROGETTI BASEAPPLICATIONSGEBAS200RESOURCESICONEInizio.ico"FINE_ICO ICON "c:XIDEPROJECTSPROGETTI BASEAPPLICATIONSGEBAS200RESOURCESICONEFine.ico"MOSTRA_ICO ICON "c:XIDEPROJECTSPROGETTI BASEAPPLICATIONSGEBAS200RESOURCESICONEMostra.ico"CANCELLA_ICO ICON "c:XIDEPROJECTSPROGETTI BASEAPPLICATIONSGEBAS200RESOURCESICONECancella.ico"

Ho rigenerato il file eseguibile, tenendo sempre impostata la mia icona anchor.ico nell' Application icon delle proprietà dell'applicazione ed il file EXE continua a tenere la vecchia icona.
Di nuovo sono andato ad ispezionare il file EXE con Resource Hacker ed ho notato che questa volta l'icona anchor.ico compare 2 volte:
- una volta con il nome 1 ed una seconda volta con il nome 101.

Questa è la situazione finale in cui mi ritrovo.

Saluti

Francesco
Attachments
2.JPG
2.JPG (97.79 KiB) Viewed 1996 times
1.JPG
1.JPG (68.3 KiB) Viewed 1996 times
User avatar
Chris
Posts: 4961
Joined: Thu Oct 08, 2015 7:48 am
Location: Greece

XIDE - Modifica icona associata al file eseguibile non funzionante.

Post by Chris »

Hi Francesco,

Yes, it appears two times, one because the compiler itself includes it in the resources, and another because of the line you inserted directly in the .rc.
The OS uses for the application icon, the icon that it finds first (alphabetically) in the native resources of the .exe. This is the reason for the "1" in front of the ICON resource line, to try and make it go first in the list. Which is the icon that appears first for your .exe in Resource Hacker?

Btw, thanks, always glad to help!

.
Chris Pyrgas

XSharp Development Team
chris(at)xsharp.eu
veliero
Posts: 22
Joined: Sun Feb 25, 2018 11:28 pm

XIDE - Modifica icona associata al file eseguibile non funzionante.

Post by veliero »

Ciao Chris,
nella mio file EXE questa è la situazione che appare da Resource Hacker:
10.JPG
10.JPG (37.68 KiB) Viewed 1996 times
al primo posto c'è proprio l'icona che è associata al file EXE mentre quella nominata 1 oppure 101 sono in fondo all'elenco:
11.JPG
11.JPG (35.54 KiB) Viewed 1996 times
ho provato ad inserire la riga:

AA_ICON ICON "c:XIDEPROJECTSPROGETTI BASEAPPLICATIONSGEBAS200RESOURCESICONEGebas200.ico"
GESCAF_ICO ICON "c:XIDEPROJECTSPROGETTI BASEAPPLICATIONSGEBAS200RESOURCESICONEGescaf.ico"
GEBAS_ICO ICON "c:XIDEPROJECTSPROGETTI BASEAPPLICATIONSGEBAS200RESOURCESICONEChameleon.ico"
INIZIO_ICO ICON "c:XIDEPROJECTSPROGETTI BASEAPPLICATIONSGEBAS200RESOURCESICONEInizio.ico"
FINE_ICO ICON "c:XIDEPROJECTSPROGETTI BASEAPPLICATIONSGEBAS200RESOURCESICONEFine.ico"
MOSTRA_ICO ICON "c:XIDEPROJECTSPROGETTI BASEAPPLICATIONSGEBAS200RESOURCESICONEMostra.ico"
CANCELLA_ICO ICON "c:XIDEPROJECTSPROGETTI BASEAPPLICATIONSGEBAS200RESOURCESICONECancella.ico"

nel mio file ICON.RC ed ha funzionato!
L'icona GEBAS200.ICO è stata correttamente associata al file EXE infatti da Resource Hacker ottengo:
13.JPG
13.JPG (38.13 KiB) Viewed 1996 times
al primo posto c'è l'icona desiderata.

Grazie Chris riesci sempre a risolvere tutti i miei quesiti.

Saluti
Francesco
User avatar
Chris
Posts: 4961
Joined: Thu Oct 08, 2015 7:48 am
Location: Greece

XIDE - Modifica icona associata al file eseguibile non funzionante.

Post by Chris »

That's great, glad it's working now! Ciao!
Chris Pyrgas

XSharp Development Team
chris(at)xsharp.eu
Post Reply