UpdateResource() ICON [Résolu]

Signaler
-
 Utilisateur anonyme -
Bonjour
J'ai deja utiliser plusoeur fois Update resource pour changer des resources du type RCDATA d'un ".exe"
Et la c'est la resourc ICON du ".exe" que je voulait changé et cela ne marche pas et aucune des fonction que j'utilise ne retourne d'erreur.
Voici le code merci de me dire SVP pourquoi la resource ICON n'est pas mise a jour par le nouvelle Icone:
<<
// prepare a l'update de resource
HANDLE BeginUptade=BeginUpdateResource(
"D:\\ert.exe", FALSE);

if(BeginUptade==NULL)printf(
"erreur");

HANDLE hFile=CreateFile(

"D:\\Icon2.ico",

GENERIC_READ | GENERIC_WRITE,

0,

NULL, 

OPEN_EXISTING,

FILE_ATTRIBUTE_NORMAL, 

NULL

);

if(hFile==NULL)printf(
"erreur");

void *buffer=malloc(GetFileSize(hFile, NULL));
DWORD OctectLu;
ReadFile(hFile, buffer, GetFileSize(hFile, NULL), &OctectLu, NULL);
// met dans buffer l'icone en entierif (OctectLu != GetFileSize(hFile, NULL))printf(
"erreur");

int Verif=UpdateResource(
BeginUptade,
RT_ICON, MAKEINTRESOURCE(110),
MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL),
buffer,
GetFileSize(hFile, NULL)
);

if(Verif==NULL)printf(
"erreur");

free(buffer);
CloseHandle(hFile);

if(EndUpdateResource(BeginUptade, FALSE)==NULL)printf(
"erreur");

>>

Merci
MaLaDeDeDe 97one 

2 réponses


Ok racpp je donne le lien: 25716 http://www.cppfrance.com/code.aspx?ID=25716
Et il dit bien que le format d'un icône en ressource est un peu différent de celui du fichier
Donc deja je ne pouvais pas réussir a changer l'icone.

Et aussi il y avait encore autre chose qui me bloquer et qui est assez bizarre c'est:
je me suis rendu conte que l'icone d'un .exe avait toujour l'ID 1   :s
Meme si dans le fichier resource je choisissais l'ID 110.
Je l'ai remarqué avec l'utilisation  de FindResource()    : 

parceque cela retourne NULL:
FindResource( LoadLibrary("ChangeMonIcone.exe"),   MAKEINTRESOURCE(110),    RT_ICON);

et cela fonctionne ( ! = de NULL):
FindResource(LoadLibrary("ChangeMonIcone.exe"),  MAKEINTRESOURCE(1),    RT_ICON);

MaLaDeDeDe 97one 
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
12
Salut,
Il parait que tu as trouvé un  code source intéressant sur le site. Si ça t'as permi de résoudre ton problème, n'oublie pas de déposer le lien ici et mettre "Réponse acceptée". Ce sera utile aux autres. Merci.