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

Soyez le premier à donner votre avis sur cette source.

Vue 15 793 fois - Téléchargée 610 fois

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

Ajouter un commentaire

Commentaires

mythic_kruger
Messages postés
242
Date d'inscription
jeudi 8 janvier 2004
Statut
Membre
Dernière intervention
10 novembre 2005
-
Beau boulot!
deck_bsd
Messages postés
1244
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
1 -
Source très intéressante.
BilAnfan
Messages postés
2
Date d'inscription
samedi 21 août 2004
Statut
Membre
Dernière intervention
17 septembre 2007
-
Salut ymca2003!

J'ai éssayé ton executable et ca marche très bien, merci!
Mais voilà, j'éssaye de compiler ta source sur VC++6 et ça ne part pas: il y a des erreurs à propos des fonctions ColorRGBToHLS/ColorHLSToRGB et je peut pas compiler. J'ai regardé le fichier d'en-tête shlwapi.h de vc++6 et les prototypes sont absentes. Pourais-tu me dépaner car là ça commence a me casser la tête car ce sont ces deux fonctions qui m'interressent.

Merci Bien!
Hichemdev
Messages postés
5
Date d'inscription
mercredi 25 avril 2007
Statut
Membre
Dernière intervention
29 mai 2007
-
Slaut, BilAnfan a raison sur VC++6 y a des erreurs et meme moi j'ai regardé dans le repertoire "lib" de VC++6 dont le chemin est "C:\Program Files\Microsoft Visual Studio\VC98\Lib" mais j'ai pas trouvé shlwapi.lib, si vous avez une idée ou solution, vous pouvez me l'ecrire SVP.

et voici les erreurs qu'il m'affiche VC++:

--------------------Configuration: TestShlwapi - Win32 Debug--------------------
Compiling...
TestShlwapi.cpp
c:\documents and settings\hicheml\bureau\cppfrance_utilisation-lib-shlwapi-dll-fonctions-diverses-sur-noms_29573\testshlwapi\testshlwapi.cpp(475) : error C2065: 'ColorRGBToHLS' : undeclared identifier
c:\documents and settings\hicheml\bureau\cppfrance_utilisation-lib-shlwapi-dll-fonctions-diverses-sur-noms_29573\testshlwapi\testshlwapi.cpp(493) : error C2065: 'ColorHLSToRGB' : undeclared identifier
Error executing cl.exe.

TestShlwapi.exe - 2 error(s), 0 warning(s)

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.