PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 25 → WD - Como obter o icone associado a um tipo de arquivo?
WD - Como obter o icone associado a um tipo de arquivo?
Débuté par BOLLER ADRIANO, 02 juil. 2016 03:24 - Aucune réponse
Membre enregistré
3 662 messages
Popularité : +175 (223 votes)
Posté le 02 juillet 2016 - 03:24
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 = dDébutDessin(sNomChampImage)
API("user32","DrawIcon",nHandleChpImage,0,0,nHndIcone)


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/