CHANGER L'ICÔNE D'UN EXÉCUTABLE[C++/DEV-CPP]

youpiyoyo Messages postés 539 Date d'inscription vendredi 6 juin 2003 Statut Membre Dernière intervention 14 juillet 2010 - 26 août 2004 à 22:01
 Utilisateur anonyme - 11 mai 2011 à 11:35
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/25716-changer-l-icone-d-un-executable-c-dev-cpp

Utilisateur anonyme
11 mai 2011 à 11:35
je confirme ça ne marche pas...
je vais essayer les modifs conseillées par Benland mais je pense que d'autres ont essayé...
Aulios Messages postés 24 Date d'inscription vendredi 11 décembre 2009 Statut Membre Dernière intervention 30 mars 2011
14 févr. 2010 à 09:27
Bonjour,
Chez moi aussi ça ne marche pas.
Dommage cela aurait put me servir mon mes problème d'icône d'exécutable Python...
Bonne continuation
phenix22000 Messages postés 11 Date d'inscription jeudi 13 novembre 2008 Statut Membre Dernière intervention 28 mars 2012
24 avril 2009 à 03:03
Marche toujours pas!
DOMMAGE de poster un code qui ne fonctionne pas!
cs_benland Messages postés 14 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 25 mai 2010
21 nov. 2007 à 13:36
Ton script est sympa, mais il a quelques bugs...
Pour ce qui serait encore interesse par ce code, voici les lignes qu'il faut corriger:
dans le main, la ou il y a ecrit ce bout de code: "if(res[i].Type.lpszType==RT_ICON && res[i].Name.Id==id)" ,
il faut le remplacer par : "if(res[j].Type.lpszType==RT_ICON && res[j].Name.Id==id)"

puis un peu plus bas dans le memcpy, il faut remplacer le "(LPVOID)res[I].lpData" PAR "(LPVOID)res[j].lpData"

Puis dans la fonction "ExtractIconsFromFile", la ou il y a ecrit "pIconDir=(LPICONDIR)LocalReAlloc(pIconDir,(sizeof(WORD)*3)+(sizeof(ICONDIRENTRY)*pIconDir->idCount),NULL);"
il faut remplacer le NULL par LMEM_MOVEABLE

Voila, avec ces modif ce programme devrait mieux marcher.
ak08154711 Messages postés 2 Date d'inscription samedi 4 février 2006 Statut Membre Dernière intervention 9 juin 2006
6 août 2007 à 17:11
This Code in DLL?
Pamaury Messages postés 341 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 17 juin 2008 3
28 août 2006 à 19:02
Absolument aucune idée . Cette source a deux ans maintenant et je ne me souviens plus comment j'ai trouvé çà mais sûrement en comparant le format en mémoire à celui en fichier et j'ai dû trouver une correspondance . Je ne peux pas le certifier .
Utilisateur anonyme
28 août 2006 à 02:21
slt
wooah c'est du beau travail parceque j'arivais pas moi a a changer la resource ICON parceque comme tu l'as di: le format d'une icône en resource est différente de celui du fichier.

Ou as tu trouvé ces information sur la structure d'un icone en fichier resource et e fichier ? :)
cs_ronanT Messages postés 2 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 12 juillet 2006
12 juil. 2006 à 16:39
marche tjs pas.
cs_saylar Messages postés 102 Date d'inscription vendredi 21 avril 2006 Statut Membre Dernière intervention 10 février 2008
10 juin 2006 à 13:30
marche pas !
Utilisateur anonyme
12 sept. 2004 à 16:24
ca ne marche pas
Pamaury Messages postés 341 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 17 juin 2008 3
8 sept. 2004 à 18:33
bizarre, quand je l'ai testé il a marché tout le temps . Je vais chercher voir s'il n'y a pas une erreur .
Merci pour cette indication
benozor77 Messages postés 35 Date d'inscription samedi 29 mai 2004 Statut Membre Dernière intervention 25 mars 2007
8 sept. 2004 à 18:29
Bonjour/Bonsoir,

Je constate que lorsque l'exe à pour îcone une fenêtre blanche, votre programme ne marcher pas.
Pamaury Messages postés 341 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 17 juin 2008 3
6 sept. 2004 à 21:33
je viens de remetrtre à jour : s'il y a des pb dites le moi
Pamaury Messages postés 341 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 17 juin 2008 3
31 août 2004 à 09:29
Et bien en fait je crois que je comprend : je fait le changement de ressource dans une énumération des ressource(avec les fonction de l'API) . Or, le handle que je détruit est celui de la fonction et pas celui de départ donc je vais changer un peu le code voir si çà bouge .
@++(si çà marche pas je met le code)
sibi12 Messages postés 337 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 15 avril 2006
30 août 2004 à 16:56
c'est vrai que c'est assez bizarre...verifie si le fichier le handle est fermer comme il faut. si tu donne le bout de code je peux peut-être jeter un oeil
Pamaury Messages postés 341 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 17 juin 2008 3
30 août 2004 à 10:05
Pour l'instant, j'essaye de changer tout court et c'est pas facile, de plus j'ai une abération . Si je conserve le handle sur le fichier, l'API crée automatiquement un fichier .temp qui est en fait l'exe modifié . Et en le renommant, je m'aperçoit que la modification est effective !!!!!!!!!!!!!!!!!!!!!! Mais si je détruit le handle sur l'exe(il est inutiles), les modification ne sont pas effective (snif mais j'y travaille surtout sur une nouvelle base encore plus solide ) Je sais que je vaios y arriver :; j'y suis presque .
sibi12 Messages postés 337 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 15 avril 2006
30 août 2004 à 02:22
Rien ne t'empeche d'aller trifouiller dans la memoire du process (API Write/ReadProcessMemory) voir meme envoyer un message Invalidate pour raffraichir une ressource afficher a l'ecran..enfin j'ai pas essayer mais ça doit etre possible...
Mais bon l'exe n'est pas modifier pr autant.tu px attendre la fin du process et le changer a ce moment la et pkoi pas essayer d'intercepter le lancement d'une seconde instance(Je ne sais pas si un API existe mais on peux imaginer une boucle sur les process existant)
Pamaury Messages postés 341 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 17 juin 2008 3
26 août 2004 à 23:35
(ce n'est pas moi que tu a aidé mais par contre ce post est cencé aidé celui du forum)
changer les ressource de son propre ex en cours de fonctionnement n'est pas possible(doc MSDN) ni même changer les ressource d'un exe en cours d'exécution(doc MSDN) . Je suis en train de le refaire en graphique mais j'ai un bug donc il faut patienter
youpiyoyo Messages postés 539 Date d'inscription vendredi 6 juin 2003 Statut Membre Dernière intervention 14 juillet 2010
26 août 2004 à 22:01
j'avais fais une source du meme styke ke la tienne mais moi ce ke je cherchais a faire c t changer les resources de mon propre prgm ki est entrain de tourner...
la source etais grafik et com la tienne mais en api win32, et je me demande meme si c pas toi ke j'ai aidé dans le forum car kelk'1 m'avais posé des kestions a ce sujet, et c peut etre toi... ki c en revanche j'ai abandonner ma source car mank de motiv pour perceverer, mais je sais ke c possible, car reshacker en ai capable...
Rejoignez-nous