Comment obtenir l`icone associee à un type de fichier ?
L`extension du fichier permet de connaitre l`icone associe :
Exemple de code :
PROCEDURE IconeAssocieeFichier(sNomFichier,sNomChampImage)
sExtension est une chaîne
sNomProgramme est une chaîne
nHndIcone est un entier
SI sNomFichier = "" OU sNomChampImage = "" ALORS
RETOUR
FIN
sExtension = Minuscule("." + ExtraitChaîne( sNomFichier, ChaîneOccurrence( sNomFichier, "."), 1,"."))
sNomProgramme = RegistreLit("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\" + sExtension,"")
sNomProgramme = RegistreLit( "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\" + sNomProgramme + "\shell\open\command", "")
sNomProgramme = Minuscule(sNomProgramme)
SI
Position(sNomProgramme,"%systemroot%") <> 0 ALORS
sNomProgramme = Remplace(sNomProgramme,"%systemroot%",SysRep())
FIN
sNomProgramme = SansEspace(ExtraitChaîne(sNomProgramme,1,"%"))
//Suppression des guillemets :
sNomProgramme = Remplace(sNomProgramme,"""""","")
sNomProgramme = Remplace(sNomProgramme,Caract(34),"")
sNomProgramme = SansEspace(sNomProgramme)
//// Appel d`api pour recuperer le handle de l`icone de l`executable
nHndIcone = API("SHELL32","ExtractIconA",SysInstance(),sNomProgramme,0)
nHandleChpImage est un entier
nHandleChpImage = dDebutDessin(sNomChampImage)
API("user32","DrawIcon",nHandleChpImage,0,0,nHndIcone)