[..] Récupérer l'icône d'un fichier/dossier

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
TT22
Membre émérite
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

#1

Message par TT22 »

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.
Cordialement,
TT22
Avatar du membre
Tlem
Site Admin
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

#2

Message par Tlem »

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.
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é".
Avatar du membre
mikell
Spammer !
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

#3

Message par mikell »

Tu peux aussi chercher dans le registre la liste des clés "DefaultIcon" Image
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
sablier94
Niveau 4
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

#4

Message par sablier94 »

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+
Avatar du membre
TT22
Membre émérite
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

#5

Message par TT22 »

@ sablier94 : Je ne vois pas ou se trouve cette fonction, peux-tu me la donner directement ?
Cordialement,
TT22
Avatar du membre
mikell
Spammer !
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

#6

Message par mikell »

Tsss flemmard TT22 :mrgreen:

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 )
Avatar du membre
TT22
Membre émérite
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

#7

Message par TT22 »

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 :?
Cordialement,
TT22
Avatar du membre
mikell
Spammer !
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

#8

Message par mikell »

Tsss flemmard TT22 (version 2.0) :?
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 )
Kevzi
Niveau 4
Niveau 4
Messages : 78
Enregistré le : dim. 17 juil. 2011 12:36
Status : Hors ligne

Re: [..] Récupérer l'icône d'un fichier/dossier

#9

Message par Kevzi »

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
Avatar du membre
mikell
Spammer !
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

#10

Message par mikell »

Hummm... va y avoir des remarques... :wink:
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 )
Kevzi
Niveau 4
Niveau 4
Messages : 78
Enregistré le : dim. 17 juil. 2011 12:36
Status : Hors ligne

Re: [..] Récupérer l'icône d'un fichier/dossier

#11

Message par Kevzi »

mikell a écrit :Hummm... va y avoir des remarques... :wink:
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.
tu dis sa par rapport à ce que j'ai mis ? parce que ce script, je l'ai trouvé sur notre forum :wink:
Avatar du membre
sablier94
Niveau 4
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

#12

Message par sablier94 »

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 ^^
Avatar du membre
mikell
Spammer !
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

#13

Message par mikell »

Kevzi a écrit :
mikell a écrit :Hummm... va y avoir des remarques... :wink:
tu dis sa par rapport à ce que j'ai mis ? parce que ce script, je l'ai trouvé sur notre forum :wink:
C'est encore pire... :mrgreen:
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 )
Kevzi
Niveau 4
Niveau 4
Messages : 78
Enregistré le : dim. 17 juil. 2011 12:36
Status : Hors ligne

Re: [..] Récupérer l'icône d'un fichier/dossier

#14

Message par Kevzi »

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 :lol: )
Répondre