Créer un fichier ds documents and settings\utilisateur courant [Résolu]

Signaler
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
salut a tous
je voudrais simplement connaitre la variable windows de chemin (si elle existe, et si elle est utilisable d'un prog en c++, au cas ou ma question serait pas claire, ca serait une variable windows genre "%systemroot%", mais pour le chemin que je demande ici) pour documents and settings\utilisateur courant, ou sinon la methode qui permette de récupérer le nom d'utilisateur afin de créer un fichier ds ce dossier(fichier de config).
merci d'avance.

10 réponses

Messages postés
101
Date d'inscription
vendredi 15 février 2002
Statut
Membre
Dernière intervention
6 août 2007

Une petite recherche dans la MSDN (10 sec)

BOOL GetUserName(
LPTSTR lpBuffer, // address of name buffer
LPDWORD nSize // address of size of name buffer
);

Voila ça te retourne le nom de l'utilisateur courant
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
16
merci, je me suis pris la tete pr capter comment l'utiliser, mais ca marche....au cas ou qqun regarderais ce forum apres pr l'aide, voici mon code :

ifstream is;
DWORD Size = UNLEN + 1;
TCHAR UserName[UNLEN + 1];
GetUserName (UserName, &Size);
stringstream Str;
Str << "C:\\Documents and Settings\" << UserName
<< "\\cfg.txt";
is.open(Str.str().c_str());
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
Regarde SHGetSpecialFolderPath() dans MSDN.

Les dossiers personnels:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders

ciao...
BruNews, Admin CS, MVP VC++
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
A ne jamais faire, il y a API ou base de registres pour trouver ces chemins qui pourraient tres bien etre ailleurs suivant l'installation du systeme.

ciao...
BruNews, Admin CS, MVP VC++
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
16
il est pas ds la bdr....j'ai regardé, au depart cest ce ke jesperais trouver mais jai pas vu....
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
Alors je repete:

Les dossiers personnels:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders

lis par exemple la valeur 'SendTo' et recule pointeur de 6 par rapport a la fin et ainsi tu as le dossier.
Facile a adapter non ?

ciao...
BruNews, Admin CS, MVP VC++
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
16
pk reculer le pointeur de 6??????
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
pour n'avoir que la base du dossier 'user', pas ce que tu voulais ?

ciao...
BruNews, Admin CS, MVP VC++
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
16
bah si mais je veux dire, quel est l'effet exact de décaler la pointeur de 6?
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
RegQueryValueEx te dira dans le dernier param combien d'octets inseres dans ton buffer.
buffer+len-6 , soit tu y mets un ZERO pour avoir le dossier soit tu es pret pour chainer autre chose, voila tout.

ciao...
BruNews, Admin CS, MVP VC++