Récup le nom utilisateur

Résolu
blizzon Messages postés 23 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 4 mai 2006 - 24 avril 2006 à 09:53
blizzon Messages postés 23 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 4 mai 2006 - 24 avril 2006 à 11:52
Bonjour!
je débute en C++ et je voudrai savoir s'il existe une fonction qui permet de récupérer le nom de l'utilisateur ki est connecté sur l'ordinateur?
Pouvez vous me donner quelques explications concernant cette fonction?

Merci

blizzon

9 réponses

meech Messages postés 209 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 14 août 2007
24 avril 2006 à 11:08
Salut,

Si tu bosses sous Microsoft Windows, le nom de l'utilisateur courant (et bien d'autres choses) est stocké dans une variable d'environnement : USERNAME
.

Pour récupérer cette variable d'environnement, tu peux utiliser la fonction getenv :

int main(int argc, char** argv)
{
char* sUtilisateur;
sUtilisateur = getenv("USERNAME");
if (sUtilisateur != NULL)
printf("Utilisateur courant = %s\n", sUtilisateur);
return(0);
}

Mis à part cette solution, les API Windows doivent sans doute fournir une fonction particulière, mais je ne la connais pas (je regarde cela...).

En espérant t'avoir un peu aidé,
Ciao.

PS . La MSDN parle =/library/en-us/vclib/html/_crt_getenv.2c_._wgetenv.asp icide d'implémentation par Microsoft de la fonction getenv.
3
meech Messages postés 209 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 14 août 2007
24 avril 2006 à 11:20
Le truc, dans la fonction GetUserName, c'est que les paramètres est utilisé comme "valeur de retour" :
- la chaîne lpBuffer pour le nom d'utilisateur ;
- le DWORD nSize pour la longueur de la chaîne contenant le nom d'utilisateur (pas vérifié, mais je suppose...).

La valeur booléenne retournée précise si l'opération s'est, ou non, bien déroulée.

Bonne journée.
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
24 avril 2006 à 11:32
char buf[260];
DWORD len = 260;

if(!GetUserName(buf, &len)) ERREUR

ciao...
BruNews, MVP VC++
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
24 avril 2006 à 11:06
BOOL GetUserName(
LPTSTR lpBuffer,
LPDWORD nSize
);


Voir MSDN, c'est trivial.

ciao...
BruNews, MVP VC++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
meech Messages postés 209 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 14 août 2007
24 avril 2006 à 11:10
Ah ! voilà, en effet, la routine GetUserName.
Merci à BruNews.
0
blizzon Messages postés 23 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 4 mai 2006
24 avril 2006 à 11:11
merci meech, je vai regarder si ton code convien. je vous retien au courant.

blizzon
0
blizzon Messages postés 23 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 4 mai 2006
24 avril 2006 à 11:15
oui mais GetUserName, sous visual C++, renvoi un bool.donc g pris ta fonction meech.
merci a vous deux!

blizzon
0
blizzon Messages postés 23 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 4 mai 2006
24 avril 2006 à 11:25
merci beaucoup pour cette explication. le code que tu ma donné fonction a merveille.
je vai essayé de le faire avec GetUserName.

Merci encore!

blizzon
0
blizzon Messages postés 23 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 4 mai 2006
24 avril 2006 à 11:52
merci BruNews ca marche également!

re vous remerci de votre aide! je suis bien content que ca marche, cela me fait beaucoup avancé dans mon projet!

blizzon
0
Rejoignez-nous