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
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
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 :
inclure la lib mpr.lib au link.
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; }
![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
sinon, tu peux aussi faire :
Pour récuperer l'user :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
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. }
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. }
Partager