PROCEDURE IconeAssociéeFichier(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
récupérer le handle de l`icone de l`executable
nHndIcone = API("SHELL32","ExtractIconA",SysInstance(),sNomProgramme,0)
nHandleChpImage est un entier
nHandleChpImage = dDébutDessin(sNomChampImage)
API("user32","DrawIcon",nHandleChpImage,0,0,nHndIcone)