IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Récupérer le nom de l'utilisateur courant


Sujet :

MFC

  1. #1
    dus
    dus est déconnecté
    Membre du Club
    Inscrit en
    Octobre 2002
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 73
    Points : 52
    Points
    52
    Par défaut Récupérer le nom de l'utilisateur courant
    Bonjour à tous.

    Je cherche à récupérer le nom de l'utilisateur courant afin de vider le dossier Documents and Settings\utilisateur\Local Settings\temp.
    Je suis sous W2000.

    Merci

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    Extrait de la future faq:
    Deux techniques possibles la base de registre ou la fonction WNetGetUser
    Ou la combinaison des deux comme dans l’exemple ci-dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    #define MAXESC 255
    int GetRegistryLocalMachine( const char* szkey, const char* szname, void* pval )
    {
     
    	int nError;
    	unsigned long sz = MAXESC;
    	DWORD tp;
    	HKEY k;
    	char *szVal=(char *)pval;
     
    	if (nError = RegOpenKeyEx( HKEY_LOCAL_MACHINE, szkey, 0, KEY_ALL_ACCESS, &k ) ) return nError;
    	if (nError = RegQueryValueEx( k, szname, 0, &tp, (LPBYTE)pval, &sz ) )
     
    	return nError;
     
    	if (szVal [sz-1] != 0 ) szVal [sz] = 0;
    	if (nError = RegCloseKey( k ) ) return nError;
    	return 0;
    }
     
    CString GetCurrentUser()
    {
    	DWORD nlen=20;
    	char szUser[20];
    	if(GetRegistryLocalMachine( "System\\CurrentControlSet\\Control","Current User",szUser))
    	{
    		WNetGetUser(NULL,szUser,&nlen);
    	}
    	return szUser;
    }
    inclure la lib mpr.lib au link.


  3. #3
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    sinon, tu peux aussi faire :

    Pour récuperer l'user :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	char user[100];
    	DWORD size = 100;
    	if (!GetUserName(user,&size))
    	{
    		LPVOID lpMsgBuf; 
    		FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), 0, (LPTSTR) &lpMsgBuf, 0, NULL); 
    		MessageBox(NULL,(LPCTSTR)lpMsgBuf,"",MB_ICONSTOP); 
    		LocalFree( lpMsgBuf ); // Free the buffer. 
    	}
    et pour récuperer le repertoire temporaire (qui n'est pas forcément Documents and Settings\utilisateur\Local Settings\temp, mais qui l'est bien souvent) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	char tempPath[MAX_PATH];
    	if (!GetTempPath(MAX_PATH,tempPath))
    	{
    		LPVOID lpMsgBuf; 
    		FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), 0, (LPTSTR) &lpMsgBuf, 0, NULL); 
    		MessageBox(NULL,(LPCTSTR)lpMsgBuf,"",MB_ICONSTOP); 
    		LocalFree( lpMsgBuf ); // Free the buffer. 
    	}

  4. #4
    dus
    dus est déconnecté
    Membre du Club
    Inscrit en
    Octobre 2002
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 73
    Points : 52
    Points
    52
    Par défaut
    Merci bcp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer le nom de la page courante
    Par webdisciple dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 19/05/2006, 09h42
  2. Réponses: 1
    Dernier message: 19/01/2006, 16h23
  3. [C#] Récupérer le nom de la fonction courante
    Par lordkoko dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/11/2005, 11h16
  4. Récupérer le nom de la base courante
    Par Mr N. dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/10/2004, 11h34
  5. Récupérer le nom de l'utilisateur sous linux
    Par Michaël dans le forum POSIX
    Réponses: 7
    Dernier message: 25/12/2003, 21h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo