[R] Définir l'icône d'un fichier.
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.
- theAvenger
- Niveau 5

- Messages : 159
- Enregistré le : dim. 14 nov. 2010 15:26
- Localisation : Alsace
- Status : Hors ligne
[R] Définir l'icône d'un fichier.
Par curiosité (je n'en ai pas vraiment l'utilité pour le moment), j'aimerais savoir comment ont défini l'icône qu'aura un fichier dans le gestionnaire de fichier (explorer). Merci de vos réponses !
Modifié en dernier par theAvenger le jeu. 20 oct. 2011 21:20, modifié 1 fois.
- sylvanie
- Niveau 11

- Messages : 1556
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
Re: [..] Définir l'icône d'un fichier.
Bonsoir,
j'ai trouvé ceci sur le forum américain :
http://www.autoitscript.com/forum/topic ... -filetype/
regardez surtout l'exple sous forme de script, le reste étant des alternatives manuelles.
j'ai trouvé ceci sur le forum américain :
http://www.autoitscript.com/forum/topic ... -filetype/
regardez surtout l'exple sous forme de script, le reste étant des alternatives manuelles.
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
- theAvenger
- Niveau 5

- Messages : 159
- Enregistré le : dim. 14 nov. 2010 15:26
- Localisation : Alsace
- Status : Hors ligne
Re: [..] Définir l'icône d'un fichier.
Il faut donc inscrire dans le registre une clé qui contient le chemin et le nom de l'icone ?
En revanche, je n'ai pas compris l'utilité de la variable $cmd.
Code : Tout sélectionner
RegWrite("HKEY_CLASSES_ROOT\" & [valeur de la clé de l'extension] & "\Shell\" & $cmd & "\Command\", "", "REG_SZ", [chemin\et\nom\de\l'icone\de\l'extension])- sylvanie
- Niveau 11

- Messages : 1556
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
Re: [..] Définir l'icône d'un fichier.
bonjour
$cmd réfère à l'action faite sur l'extension.
Par défaut, on a "open" sur la plus part des extensions. Ceci ouvre avec le programme associé.
Mais on peut en avoir d'autres actions cumulées comme "play", "shell" ... qui peuvent lancer d'autres exe et donc on a d'autres icônes associées à ces actions.
Par défaut on voit celle associée à "open" dans l'explorateur.
Mais à tester en étant bien réveillé car on a vite fait de mettre le bazar (de plus le script doit être lancé en admin si on a besoin de faire un write dans HKEY_CLASSES_ROOT)
$cmd réfère à l'action faite sur l'extension.
Par défaut, on a "open" sur la plus part des extensions. Ceci ouvre avec le programme associé.
Mais on peut en avoir d'autres actions cumulées comme "play", "shell" ... qui peuvent lancer d'autres exe et donc on a d'autres icônes associées à ces actions.
Par défaut on voit celle associée à "open" dans l'explorateur.
Mais à tester en étant bien réveillé car on a vite fait de mettre le bazar (de plus le script doit être lancé en admin si on a besoin de faire un write dans HKEY_CLASSES_ROOT)
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
- theAvenger
- Niveau 5

- Messages : 159
- Enregistré le : dim. 14 nov. 2010 15:26
- Localisation : Alsace
- Status : Hors ligne
Re: [..] Définir l'icône d'un fichier.
Donc, il suffira de faire
La valeur de la clé de l'extension est l'extension du fichier (.doc, .ini, .fichier, .pèrenoël), la commande c'est open (puisque l'icône doit être celle définie pour ouvrir le fichier avec un certain exécutable) et le chemin, ben, c'est le chemin de l'icône.
Je me trompe ?
Code : Tout sélectionner
RegWrite("HKEY_CLASSES_ROOT\" & [valeur de la clé de l'extension] & "\Shell\" & [commande (open)] & "\Command\", "", "REG_SZ", [chemin\et\nom\de\l'icone\de\l'extension])Je me trompe ?
- sylvanie
- Niveau 11

- Messages : 1556
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
Re: [..] Définir l'icône d'un fichier.
oui c'est ça (enfin dans le sens où tu ne te trompes pas)
Je viens de faire la manipulation manuellement via regedit sur un .elephant (ça pourraît être du php ^^) et ça le fait à une restriction prêt : j'ai mon icône qui est incrusté dans l'icône sous forme de page cornée ...
Je viens de faire la manipulation manuellement via regedit sur un .elephant (ça pourraît être du php ^^) et ça le fait à une restriction prêt : j'ai mon icône qui est incrusté dans l'icône sous forme de page cornée ...
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
- theAvenger
- Niveau 5

- Messages : 159
- Enregistré le : dim. 14 nov. 2010 15:26
- Localisation : Alsace
- Status : Hors ligne
Re: [..] Définir l'icône d'un fichier.
Heu... Ce n'est pas exactement ce que j'attendais. Peut-être en modifiant la commande (open, play, shell) ? Peut-être avec "DefaultIcon" ?
Si tu me dis comment tu as fais, je pourrais essayer aussi.
Si tu me dis comment tu as fais, je pourrais essayer aussi.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Définir l'icône d'un fichier.
Sur mon XP j'ai ça qui marche (fichier à extension .tagada) :
► Afficher le texte
" 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 )
- theAvenger
- Niveau 5

- Messages : 159
- Enregistré le : dim. 14 nov. 2010 15:26
- Localisation : Alsace
- Status : Hors ligne
Re: [..] Définir l'icône d'un fichier.
Qu'est-ce que c'est "tsointsoin" ?
Et est-ce que les doubles "\" sont nécessaires ?
Et est-ce que les doubles "\" sont nécessaires ?
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Définir l'icône d'un fichier.
.tagada c'est l'extension, tsointsoin c'est la classe
Pour le registre, dans un .reg les \\ sont nécessaires
Dans ce cas "open" se fait avec notepad.exe
Voilà le reg complet (pour mon XP)
Pour le registre, dans un .reg les \\ sont nécessaires
Dans ce cas "open" se fait avec notepad.exe
Voilà le reg complet (pour mon XP)
► Afficher le texte
" 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 )
- theAvenger
- Niveau 5

- Messages : 159
- Enregistré le : dim. 14 nov. 2010 15:26
- Localisation : Alsace
- Status : Hors ligne
Re: [..] Définir l'icône d'un fichier.
Il faut donc faire ceci en AutoIt :
??
Code : Tout sélectionner
RegWrite("HKEY_CLASSES_ROOT\.tagada", "", "REG_SZ", "tsointsoin")
RegWrite("HKEY_CLASSES_ROOT\tsointsoin\DefaultIcon", "", "REG_SZ", "C:\\WINDOWS\\icons\\crane.ico,0")
RegWrite("HKEY_CLASSES_ROOT\tsointsoin\shell", "", "REG_SZ")
RegWrite("HKEY_CLASSES_ROOT\tsointsoin\shell\open", "", "REG_SZ")
RegWrite("HKEY_CLASSES_ROOT\tsointsoin\shell\open\command", "", "REG_SZ", "%SystemRoot%\system32\NOTEPAD.EXE %1")
RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.tagada", "", "REG_SZ", "Application=NOTEPAD.EXE")
RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.tagada\OpenWithList", "", "REG_SZ", "a=NOTEPAD.EXE")- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Définir l'icône d'un fichier.
Oui sauf
Code : Tout sélectionner
RegWrite("HKEY_CLASSES_ROOT\tsointsoin\shell")
RegWrite("HKEY_CLASSES_ROOT\tsointsoin\shell\open")
...
RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.tagada", "Application", "REG_SZ", "NOTEPAD.EXE")
RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.tagada\OpenWithList", "a", "REG_SZ", "NOTEPAD.EXE")" 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 )
- theAvenger
- Niveau 5

- Messages : 159
- Enregistré le : dim. 14 nov. 2010 15:26
- Localisation : Alsace
- Status : Hors ligne
Re: [..] Définir l'icône d'un fichier.
Ce sont des clé à rajouter ? Oui j'ai compris, je crois. Elles servent à dire à l'explorateur windows comment l'exécuter, c'est ça ?
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Définir l'icône d'un fichier.
Yes
Et si tu veux le faire tip-top, tu crées une entrée "Nouveau" dans le menu contextuel du bureau
(Nouveau => Tagada File) avec son icone
ça te crée sur le bureau un "Nouveau Tagada File.tagada"
Voilà le reg modifiéet voilà le code autoit completLà-dedans, tu n'as à changer que le chemin de l'icone et l'executable pour la commande open 
Note : il faut redémarrer explorer.exe pour que les modifs soient prises en compte, avec par exemple
Et si tu veux le faire tip-top, tu crées une entrée "Nouveau" dans le menu contextuel du bureau
(Nouveau => Tagada File) avec son icone
ça te crée sur le bureau un "Nouveau Tagada File.tagada"
Voilà le reg modifié
► Afficher le texte
► Afficher le texte
Note : il faut redémarrer explorer.exe pour que les modifs soient prises en compte, avec par exemple
Code : Tout sélectionner
ProcessClose("explorer.exe")
Sleep(2000)
Run("explorer.exe")
Exit" 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 )
- theAvenger
- Niveau 5

- Messages : 159
- Enregistré le : dim. 14 nov. 2010 15:26
- Localisation : Alsace
- Status : Hors ligne
Re: [..] Définir l'icône d'un fichier.
J'ai compris !! Merci beaucoup !!!!
Cependant, si on arrête explorer.exe, la barre des tâches, le menu démarrer, le bureau ou les dossiers ouverts ne vont pas se fermer ?
Cependant, si on arrête explorer.exe, la barre des tâches, le menu démarrer, le bureau ou les dossiers ouverts ne vont pas se fermer ?
- TT22
- Membre émérite

- Messages : 1566
- Enregistré le : lun. 18 avr. 2011 15:21
- Localisation : La Quatrième Dimension
- Status : Hors ligne
Re: [..] Définir l'icône d'un fichier.
Pour le savoir, tu devrais essayer (si tu ne veux pas tester, sache que oui ça ferme touttheAvenger a écrit :Cependant, si on arrête explorer.exe, la barre des tâches, le menu démarrer, le bureau ou les dossiers ouverts ne vont pas se fermer ?
Cordialement,
TT22
TT22
- theAvenger
- Niveau 5

- Messages : 159
- Enregistré le : dim. 14 nov. 2010 15:26
- Localisation : Alsace
- Status : Hors ligne
Re: [..] Définir l'icône d'un fichier.
J'ai testé, et effectivement, ça a tout fermé
.
Il suffira de mettre un choix avec une msgbox ou de dire à l'utilisateur que "Les changements ne prendront effets qu'à la prochaine ouverture de session."
Merci de votre aide, le sujet est résolu !!
Il suffira de mettre un choix avec une msgbox ou de dire à l'utilisateur que "Les changements ne prendront effets qu'à la prochaine ouverture de session."
Merci de votre aide, le sujet est résolu !!
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [R] Définir l'icône d'un fichier.
Notes
- Tout ça est bon pour XP, mais probablement à adapter pour win7
- Si tu fermes explorer et le relances, les dossiers ouverts n'y sont plus mais tu dois retrouver un bureau avec icones, barre des taches, menu démarrer etc
- Plus de fonctionnalités possibles à voir ici et là

- Tout ça est bon pour XP, mais probablement à adapter pour win7
- Si tu fermes explorer et le relances, les dossiers ouverts n'y sont plus mais tu dois retrouver un bureau avec icones, barre des taches, menu démarrer etc
- Plus de fonctionnalités possibles à voir ici et là
" 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 )
- theAvenger
- Niveau 5

- Messages : 159
- Enregistré le : dim. 14 nov. 2010 15:26
- Localisation : Alsace
- Status : Hors ligne
Re: [R] Définir l'icône d'un fichier.
Merci beaucoup !!
- theAvenger
- Niveau 5

- Messages : 159
- Enregistré le : dim. 14 nov. 2010 15:26
- Localisation : Alsace
- Status : Hors ligne
Re: [R] Définir l'icône d'un fichier.
Il y a la fonction EnvUpdate() qui permet de faire comme si on se déconnectait, reconnectait. Elle évite donc d'arrêter le processus "explorer.exe".
