SHGetSpecialFolderPath -> Erreur de compilation

Résolu
cs_SmartMart Messages postés 2 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 6 février 2009 - 6 févr. 2009 à 21:03
cs_SmartMart Messages postés 2 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 6 février 2009 - 6 févr. 2009 à 21:35
Bonjour,

Je développe, avec Dev-C++, un petit programme qui se charge de configurer une application après l'avoir déployé silencieusement sur un poste. Voilà que j'ai absolument besoin d'obtenir par programmation le répertoire "home" (C:\Documents and Settings\user_name) de l'utilisateur authentifié pour pouvoir y apporter de multiple changements.

Alors, je veux utiliser la fonction SHGetSpecialFolderPath pour obtenir le dossier CSIDL_PROFILE de l'utilisateur. Voici mon code:

#include <shlobj.h>
[...]

string getUserHome()
{
    TCHAR tcHomePath[MAX_PATH];
    SHGetSpecialFolderPath(0, tcHomePath, CSIDL_PROFILE, FALSE);
    return tcHomePath;
}

[...]

J'ai aussi inclu la librairie libshell32.a à mon projet mais au moment de la compilation je ne sesse d'obtenir le message d'erreur: "`SHGetSpecialFolderPath' undeclared (first use this function)".

Pourtant, tout ce dont cette fonction a besoin semble être là... Je suis certain que la réponse est simple mais pour le moment je n'ai pas trouvé la solution au problème. Merci d'avance de votre aide.
















SmartMart












Quand il manque des pièces au puzzle, il ne reste qu'à les trouver...

1 réponse

cs_SmartMart Messages postés 2 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 6 février 2009
6 févr. 2009 à 21:35
Bon...

Je suis désolé, je semble avoir posté en double. Quelqu'un a eu exactement le même problème que moi en 2006 sur ce forum. Alors, voici ce qu'il me manquait: #define _WIN32_IE  0x0400




.



Je ne peux pas dire vraiment pourquoi
je dois définir "cette chose" mais elle ne semble pas se définir dans le fichier <shlobj.h>. Avec cette ligne, elle se définie...
et ca compile et ca fonctionne même.




Bonne fin de semaine à tous!




SmartMart








Quand il manque des pièces au puzzle, il ne reste qu'à les trouver...
3