SHGetSpecialFolderPath -> Erreur de compilation [Résolu]

Signaler
Messages postés
2
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
6 février 2009
-
Messages postés
2
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
6 février 2009
-
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...
A voir également:

1 réponse

Messages postés
2
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
6 février 2009

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...