Utilisation de la lib shlwapi.dll (fonctions diverses sur les noms de fichiers) [win32]

Description

Démonstration de l'utilsation de quelques fonctions de la librairie "Shlwapi.dll".
Cette librairie contient plusieurs fonctions de manipulation des noms de fichiers
ainsi que des fonctions de formatage de chaînes de caractères. Voici les fonctions
utilisées :
- PathFindFileName :
recherche la composante 'nom de fichier' d'un chemin complet.
- PathFindExtension :
recherche la composante 'extension' d'un chemin complet.
- PathRenameExtension :
renomme l'extension d'un nom de fichier.
- PathRelativePathTo :
construit un chemin relatif entre un fichier et un autre (en utilisant '..' pour
remonter les niveaux de l'arborescence).
- PathCompactPath :
compacte un nom de fichier (en rajoutant des points de suspension au milieu pour
qu'il tienne sur un certain nombre de pixels dans un DC de dessin.
- PathCompactPathEx :
même chose que PathCompactPath sauf que l'on spécifie le nombre max de caractères.
- PathSetDlgItemPath :
affecte un nom de fichier dans un contrôle en faisant en sorte qu'il ne déborde
pas en insérant des points de suspension au milieu si besoin.
- StrFormatByteSize :
formate un nombre d'octets dans une chaîne de caractères en mettant l'unité
appropriée (octets, Ko, Mo, Go).
- StrFromTimeInterval :
formate une durée en ms dans une chaîne de caractères en donnant les heures,
minutes et secondes.
- ColorRGBToHLS/ColorHLSToRGB :
convertit les couleurs entre les représentation RGB (Red, Green, Blue) et HLS
(Hue=teinte ou chrominance, Light=luminosité, Saturation).

Ces fonctions sont contenues dans l'entête "Shlwapi.h" et necessitent que la
librairie "Shwapi.lib" soit ajoutée à l'édition de lien.

Certaines fonctions nécessitent la version 5.0 de cette librairie (notamment les
fonctions de conversion de couleurs).

Source / Exemple :


voir le zip

Conclusion :


Comme dit dans l'intro, certaines fonctions nécessitent la version 5.0 de la dll (insatallée avec IE 5.0). Si la dll est surement présente, l'entête "shlwapi.h" ne contient pas fordément cette fonction (en tout cas VC++ 6.0). Donc si vous avez des erreurs à ce niveau, essayez sans ces fonctions.

Pour en savoir plus sur cette lib :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/shlwapi/gdi/colorrgbtohls.asp

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.