Page 1 sur 1

[R] Icone associée à un type de fichier

Posté : lun. 26 août 2013 20:38
par ZDS
Bonjour à tous,

J'ai désespérément besoin de votre aide ! :) J'aimerai, en ayant un fichier en entrée genre "C:\Windows\DirectX.log", retrouver en sortie le chemin de l'icone du fichier (celle de l'explorateur Windows, le dessin du fichier texte de base dans mon cas) et le chemin vers l'exécutable utilisé pour l'ouvrir par défaut (dans mon cas par exemple, "C:\Program Files (x86)\Notepad++\notepad++.exe").

Merci d'avance les gens !

A bientôt !

Re: [..] Icone & programme associé à un type de fichier

Posté : lun. 26 août 2013 20:55
par silvere
Salut, tu a regarder du coté de shellexecute ?

Re: [..] Icone & programme associé à un type de fichier

Posté : lun. 26 août 2013 21:01
par Sea
Beaucoup d'icon sont stocké dans des DLL donc ça peux être assez compliqué.

Après sinon tu peux essayer de voir les ressources d'un fichier. Un peu comme ResHack le fais, regarde du côté de cette UDF http://www.autoitscript.com/forum/topic ... urces-udf/

Re: [..] Icone & programme associé à un type de fichier

Posté : lun. 26 août 2013 21:02
par Tlem
Pas de PC sous la main pour donner le chemin exact, mais vous avez ca dans la première branche de la base de registre pour l'extension .log. ;)

Re: [..] Icone & programme associé à un type de fichier

Posté : lun. 26 août 2013 21:15
par Sea
Tlem a écrit :Pas de PC sous la main pour donner le chemin exact, mais vous avez ca dans la première branche de la base de registre pour l'extension .log. ;)
HKEY_CLASSES_ROOT

Mais bon ça te donne une information mais pas tellement utile. Par exemple perso pour les avi j'ai VLC.avi
Donc facilement récupérable mais par exemple pour les au3 j'ai AutoiScript... Ce qui m'avance pas tellement :/

Re: [..] Icone & programme associé à un type de fichier

Posté : lun. 26 août 2013 21:22
par jguinch
Salut.
En effet, l'info est stockée dans la base de registre, mais ça peut être la galère pour la trouver...
Pour les cas simples, ça devrait suffire :
► Afficher le texte
.

Pour les cas plus complexes, il faudra décortiquer les différentes clés et valeurs dans HKCR, en gardant à l'esprit que l'action par défaut (verbe) est soit :
- définie : valeur Default dans HKEY_CLASSES_ROOT\<filetype>\Shell => HKEY_CLASSES_ROOT\<filetype>\Shell\<verbe>\command
- non définie : verbe par défaut = open (HKEY_CLASSES_ROOT\<filetype>\Shell\open\command), sinon, premier verbe par ordre alphabétique.

Désolé pour l'explication un peu floue, j'ai déjà fait ça, c'était bien chiant d'ailleurs, mais impossible de remettre la main sur le code... C'est peut-être au bureau, je regarderai demain.

Re: [..] Icone & programme associé à un type de fichier

Posté : lun. 26 août 2013 21:39
par mikell
Sinon pour les icones j'ai retrouvé ça dans mes archives
► Afficher le texte
Ya aussi un FileGetIcon.au3 ou qqe chose comme ça quelque part sur le forum US
Et pour le programme _WinAPI_FindExecutable devrait le faire

Feignant t'as pas cherché :mrgreen:

Re: [..] Icone & programme associé à un type de fichier

Posté : lun. 26 août 2013 21:52
par jguinch
Il est fort le Mikell ! :wink:

Bon bin du coup j'ai pas retrouvé mon code, même pas au bureau (merci VPN).
Je poste le code que j'ai fait, même si Mikell a encore sorti un truc-de-je-sais-pas-où...
► Afficher le texte

Re: [..] Icone & programme associé à un type de fichier

Posté : lun. 26 août 2013 21:53
par mikell
Heu en fait je ne sais pas si ce que j'ai posté fonctionne sur cette machine diabolique qu'est le x64

Re: [..] Icone & programme associé à un type de fichier

Posté : lun. 26 août 2013 21:56
par Sea
Mikel testé sur x64 et aucun problème, tu utilises les API windows donc normalement y'a jamais de problème (je dis normalement car sa reste windows :p).

Re: [..] Icone & programme associé à un type de fichier

Posté : lun. 26 août 2013 21:57
par jguinch
@Mikell : Y'a pas de raison, si ça marche sur ton minitel :P

Re: [..] Icone & programme associé à un type de fichier

Posté : lun. 26 août 2013 22:02
par sambiak
jai recherché _FileGetIcon() sur google et voici ce qu'il ma pondu:
http://www.autoitscript.com/forum/topic ... legeticon/

Re: [..] Icone & programme associé à un type de fichier

Posté : lun. 26 août 2013 22:05
par mikell
@jguinch : C... ! :mrgreen:

Re: [..] Icone & programme associé à un type de fichier

Posté : lun. 26 août 2013 22:40
par ZDS
Vous êtes des stars, ça semble être exactement ce que je cherchais :D

J'avais déjà cherché du coté de la BDR, mais les clefs d'association de fichiers ne sont jamais toutes au même endroit et ne suivent aucune règle logique (Exemple pour un PNG : HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Png\DefaultIcon , HKEY_CLASSES_ROOT\pngfile\DefaultIcon et HKEY_USERS\S-1-5-21-219709542-1465915683-3968512770-1000_Classes\pngfile\DefaultIcon, pour un TXT : HKEY_CLASSES_ROOT\txtfile\DefaultIcon et HKEY_USERS\S-1-5-21-219709542-1465915683-3968512770-1000_Classes\txtfile\DefaultIcon, etc...).

Je vérifie ça, et d'ici demain matin je passe le post en [R]ésolu. Merci encore !

Re: [..] Icone & programme associé à un type de fichier

Posté : mar. 27 août 2013 08:36
par Manox
Salut ZDS,

Si ça peut t'aider, voici le code que j'avais pris en partie sur le forum US qui utilise la solution que Mikell a posté et qui en plus ce charge de faire une recherche dans le registry par la même occasion :
► Afficher le texte
En l’occurrence ici je liste tous les fichiers du c:\ pour les afficher dans une fenêtre.