[..] Récupérer l'icône d'un fichier/dossier
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- TT22
- Membre émérite

- Messages : 1566
- Enregistré le : lun. 18 avr. 2011 15:21
- Localisation : La Quatrième Dimension
- Status : Hors ligne
[..] Récupérer l'icône d'un fichier/dossier
Bonjour,
J'aurais besoin de savoir comment faire pour récupérer l'icône d'un fichier ou d'un dossier et de l'enregistrer dans un fichier.png (avec la transparence).
Par exemple, si je choisis VLC (je ne fais pas de pub), il crée un fichier nommé VLC.exe.png qui contient l'icône.
Et si par exemple une personne à choisis une icône sur un dossier, que ça fasse la même chose.
Ou si je prend un fichier.txt qu'il récupère l'image par défaut (celle de la feuille avec les lignes).
Merci d'avance à ceux qui pourront m'aider.
J'aurais besoin de savoir comment faire pour récupérer l'icône d'un fichier ou d'un dossier et de l'enregistrer dans un fichier.png (avec la transparence).
Par exemple, si je choisis VLC (je ne fais pas de pub), il crée un fichier nommé VLC.exe.png qui contient l'icône.
Et si par exemple une personne à choisis une icône sur un dossier, que ça fasse la même chose.
Ou si je prend un fichier.txt qu'il récupère l'image par défaut (celle de la feuille avec les lignes).
Merci d'avance à ceux qui pourront m'aider.
Cordialement,
TT22
TT22
- Tlem
- Site Admin

- Messages : 11830
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Récupérer l'icône d'un fichier/dossier
Sur le forum Anglais, vous trouverez un UDF qui permet de récupérer l'icône des programmes.
En ce qui concerne les dossiers, vous devrez lire le fichier caché (si existant) desktop.ini et la clé IconFile vous donnera le fichier contenant le/les icônes et la clé IconIndex vous donnera l'index de l'icône.
En ce qui concerne les dossiers, vous devrez lire le fichier caché (si existant) desktop.ini et la clé IconFile vous donnera le fichier contenant le/les icônes et la clé IconIndex vous donnera l'index de l'icône.
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Récupérer l'icône d'un fichier/dossier
Tu peux aussi chercher dans le registre la liste des clés "DefaultIcon" 
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- sablier94
- Niveau 4

- Messages : 87
- Enregistré le : lun. 20 sept. 2010 10:18
- Localisation : Suisse
- Status : Hors ligne
Re: [..] Récupérer l'icône d'un fichier/dossier
Salut, tu peux aller voir sur mon programme SkyCleaner, il y a une fonction où je récupère l'icône du programme il y a la méthode sans et avec recherches dans le registre. C'est quand je liste les programmes installés.
Tu trouveras la dernière version ici : http://total-informatique.com/forum/vie ... 3&p=66#p66
A+
Tu trouveras la dernière version ici : http://total-informatique.com/forum/vie ... 3&p=66#p66
A+
- TT22
- Membre émérite

- Messages : 1566
- Enregistré le : lun. 18 avr. 2011 15:21
- Localisation : La Quatrième Dimension
- Status : Hors ligne
Re: [..] Récupérer l'icône d'un fichier/dossier
@ sablier94 : Je ne vois pas ou se trouve cette fonction, peux-tu me la donner directement ?
Cordialement,
TT22
TT22
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Récupérer l'icône d'un fichier/dossier
Tsss flemmard TT22
Code : Tout sélectionner
$AppIcon = RegRead($KeyName & "\" & $RegVar, "DisplayIcon") ;On lit le chemin de l'icone du programme" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- TT22
- Membre émérite

- Messages : 1566
- Enregistré le : lun. 18 avr. 2011 15:21
- Localisation : La Quatrième Dimension
- Status : Hors ligne
Re: [..] Récupérer l'icône d'un fichier/dossier
Et qu'est-ce qu'on met dans $KeyName et $RegVar ?
PS : Désolé mais j'y connais rien aux histoires de clé de registres
PS : Désolé mais j'y connais rien aux histoires de clé de registres
Cordialement,
TT22
TT22
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Récupérer l'icône d'un fichier/dossier
Tsss flemmard TT22 (version 2.0)
Il faut lire son script, il t'a donné l'adresse...
Il faut lire son script, il t'a donné l'adresse...
Code : Tout sélectionner
$KeyName = HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
ou
$KeyName = HKLM64\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
.....
$RegVar = RegEnumKey($KeyName, $i) ;On lit la valeur de la clé numero i
$AppIcon = RegRead($KeyName & "\" & $RegVar, "DisplayIcon") ;On lit le chemin de l'icone du programme" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Récupérer l'icône d'un fichier/dossier
en espérant que sa puisses t'aider , j'ai trouvé un script qui extrait l'icône d'un fichier exe :
Code : Tout sélectionner
Func LoadIconFromEXE($file, $Index)
$DLLinst = GetModuleHandle(Ptr(0))
Local $aResult = DllCall("shell32.dll", "ptr", "ExtractIcon", "ptr", $DLLinst, "str", $file, "int", $Index)
If @error Then Return SetError(@error, @extended, 0)
Return $aResult[0]
EndFunc ;==>_WinAPI_ExtractIconEx
Func GetModuleHandle($sModuleName)
Local $tText, $aResult
If $sModuleName <> "" Then
$tText = DllStructCreate("char Text[4096]")
DllStructSetData($tText, "Text", $sModuleName)
$aResult = DllCall("kernel32.dll", "hwnd", "GetModuleHandle", "ptr", DllStructGetPtr($tText))
Else
$aResult = DllCall("kernel32.dll", "hwnd", "GetModuleHandle", "ptr", Ptr(0))
EndIf
Return $aResult[0]
EndFunc- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Récupérer l'icône d'un fichier/dossier
Hummm... va y avoir des remarques...
Le Mar 13 Sep 2011 18:27, Tlem a écrit :Sur le forum Anglais, vous trouverez un UDF qui permet de récupérer l'icône des programmes.
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Récupérer l'icône d'un fichier/dossier
tu dis sa par rapport à ce que j'ai mis ? parce que ce script, je l'ai trouvé sur notre forummikell a écrit :Hummm... va y avoir des remarques...
Le Mar 13 Sep 2011 18:27, Tlem a écrit :Sur le forum Anglais, vous trouverez un UDF qui permet de récupérer l'icône des programmes.
- sablier94
- Niveau 4

- Messages : 87
- Enregistré le : lun. 20 sept. 2010 10:18
- Localisation : Suisse
- Status : Hors ligne
Re: [..] Récupérer l'icône d'un fichier/dossier
Hello,
Désolé de ne pas avoir pu répondre plus précisément à ta question, je n'étais pas sur mon ordinateur.
Effectivement, si l'icône est inscrite dans le registre, tu peux le récupérer avec le code que t'as donné mikell.
Si l'icône n'est pas dans le registre, il faut l'extraire avec un UDF qui s'appelle "LoadIcon.au3" (cherche sur google) et il y a la fonction LoadIconFromEXE() qui extrait l'icône d'un fichier exécutable (ou dll si tu choisis une autre fonction de l'UDF).
EDIT : Kevzi a répondu pendant que j'écrivais ^^
Désolé de ne pas avoir pu répondre plus précisément à ta question, je n'étais pas sur mon ordinateur.
Effectivement, si l'icône est inscrite dans le registre, tu peux le récupérer avec le code que t'as donné mikell.
Si l'icône n'est pas dans le registre, il faut l'extraire avec un UDF qui s'appelle "LoadIcon.au3" (cherche sur google) et il y a la fonction LoadIconFromEXE() qui extrait l'icône d'un fichier exécutable (ou dll si tu choisis une autre fonction de l'UDF).
EDIT : Kevzi a répondu pendant que j'écrivais ^^
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Récupérer l'icône d'un fichier/dossier
C'est encore pire...Kevzi a écrit :tu dis sa par rapport à ce que j'ai mis ? parce que ce script, je l'ai trouvé sur notre forummikell a écrit :Hummm... va y avoir des remarques...![]()
Je disais ça aussi parce qu'une recherche de 5 minutes avec le mot "icone" sur le forum (anglais ou français) donne la solution...
par exemple http://www.autoitscript.fr/forum/viewto ... 310#p43310
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Récupérer l'icône d'un fichier/dossier
Si je peux lui donner la solution maintenant, autant lui donner ^^ enfin sa c'est ma façon de penser (qui va être lourdement critiquée je parie
)

