|
Icones des fichiers dans windows |
Iniciado por exkael, 21,ene. 2005 23:40 - 3 respuestas |
| |
| | | |
|
| |
Publicado el 21,enero 2005 - 23:40 |
Bonjour,
peut-on récupérer l'icone associée à un fichier si l'on fournit l'emplacement du dit fichier ?
Par exemple, si je donne "c:\test.doc", est-ce que je peux récupérer l'icone de word ? |
| |
| |
| | | |
|
| | |
| |
Publicado el 22,enero 2005 - 11:21 |
Salut, voici un de mes post du 16 décembre dernier
Salut, Pour l'exemple tu as besoin d'un champ image de dimension 38x38 nommé Image1 et d'une table nommée Table1 avec une colonne nommée colonne1 de type image
//DÉBUT DU CODE SHFILEINFO est une structure hIcon est un entier //Type C : HICON iIcon est un entier //Type C : int dwAttributes est un entier //Type C : DWORD szDisplayName est une chaîne fixe sur 260 //Type C : TCHAR szTypeName est une chaîne fixe sur 80 //Type C : TCHAR FIN sh_info est un SHFILEINFO // Extraire l'icône associé au raccourci Windev // et l'afficher dans une fenêtre hDC est un entier hInst est un entier strChemin est une chaîne
// récupére le "Device Context" de l'image hDC = dDébutDessin(Image1) // sélection du fichier pour lequel on veut l'icône... strChemin = fSélecteur(SysRep(srBureau), "", "Sélectionnez un fichier...","Tous fichiers (*.*)"+TAB+"*.*", "*", fselOuvre+fselExiste) // extraction de l'icône iRetour est un entier = API("shell32","SHGetFileInfo","."+fExtraitChemin(strChemin,fExtension)+Caract(0),128,&sh_info,Dimension(sh_info),256+16) SI iRetour <> -1 ALORS // affichage de l'icône API("user32", "DrawIcon", hDC, 1, 1, sh_info:hIcon) API("user32", "DestroyIcon", sh_info:hIcon)
// permet l'affichage dans la zone hIconAFF (sinon l'icône est manipulable dcopie... mais ne s'affiche pas?) dRedimensionne(Image1,Image1..Largeur,Image1..Hauteur) FIN
strRetour est une chaîne = dSauveImageBMP(Image1,enMémoire) tablesupprimetout(table1) TableAjouteLigne(Table1) Table1.Colonne1[1] = strRetour //FIN DU CODE Il ne te reste plus qu'à jouer avec la couleur de fond du champ image et celui de ta table
Mathieu
"exkael" <exkael@hotmail.com> a écrit dans le message de news: 41f16c55@news.pcsoft.fr...
Bonjour,
peut-on récupérer l'icone associée à un fichier si l'on fournit l'emplacement du dit fichier ?
Par exemple, si je donne "c:\test.doc", est-ce que je peux récupérer l'icone de word ?
|
| |
| |
| | | |
|
| | |
| |
Publicado el 22,enero 2005 - 13:27 |
Salut
Pour connaitre l'icone associé à un type de fichier, il faut trifouiller la base de registre:
HKEY_CLASSES_ROOT\<.EXT> La valeur par défaut contient un nom, par exemple <"MonType.EXT">
Il faut ensuite aller lire la clé HKEY_CLASSES_ROOT\<"MonType.EXT"> Dans cette clé il y a une sous-clé "DefaultIcon" La valeur par défaut de cette clé contient le chemin de l'icone.
Si un c'est un .ICO directement, c'est facile de récupérer l'icone Sinon, il faut appeler l'API ExtractIcon en lui donnant la valeur lu dans la BDR avec l'indice spécifié.
Sinon, il y a un peu plus simple : l'API ExtractAssociatedIcon....
Tout ca à fait l'objet d'un exemple LST il y a quelques temps déjà : WD7 Extraction Icone il marque aussi après migration en 9, j'ai essayé
@+ Maax°(51)°
"exkael" <exkael@hotmail.com> a écrit dans le message de news: 41f16c55@news.pcsoft.fr...
Bonjour,
peut-on récupérer l'icone associée à un fichier si l'on fournit l'emplacement du dit fichier ?
Par exemple, si je donne "c:\test.doc", est-ce que je peux récupérer l'icone de word ?
|
| |
| |
| | | |
|
| | |
| |
Publicado el 25,enero 2005 - 18:22 |
Super cet algo, ça marche très bien.
Mais peut-on récupérer le nom et le chemin de l'icone au lieu de la dessiner ? |
| |
| |
| | | |
|
| | | | |
| | |
|