Recuperation du nom de l'utilisateur

Résolu
cs_lucio57
Messages postés
146
Date d'inscription
lundi 10 février 2003
Statut
Membre
Dernière intervention
25 juillet 2007
- 11 avril 2005 à 15:27
cs_lucio57
Messages postés
146
Date d'inscription
lundi 10 février 2003
Statut
Membre
Dernière intervention
25 juillet 2007
- 15 avril 2005 à 08:26
Bonjour je cherche à récuperer le nom de l'utilisateur de la machine sur un prog en VB.Net

j'utilise

Declare
Function GetUserName
Lib "advapi32.dll"
Alias "GetUserNameA" (
ByVal lpBuffer
As
String,
ByVal nSize
As
Long)
As
Long
Que je place dans un module

Dans mon code je mets une fonction


Public
Function RecupNomUser()
As
String



Dim sBuff
As
String



Dim lRet
As
Long



Dim UserName
As
String


RecupNomUser = ""
sBuff = Space$(250)


lRet = 251



Call GetUserName(sBuff, lRet)


UserName = Trim$(Microsoft.VisualBasic.Left(sBuff, InStr(sBuff, Chr(0)) - 1))
'- enlève les espaces -'





RecupNomUser = UserName



End
Function



Il me plante sur la ligne du Call
le message est :

Une exception non gérée du type 'System.NullReferenceException' s'est produite dans BDM.exe


Informations supplémentaires : La référence d'objet n'est pas définie à une instance d'un objet.

Après différentes recherche tous les codes que je trouve sont identique à celui ci donc je ne comprends pas tout.
D'avance merci pour votre aide !

3 réponses

cs_lucio57
Messages postés
146
Date d'inscription
lundi 10 février 2003
Statut
Membre
Dernière intervention
25 juillet 2007
2
11 avril 2005 à 16:07
J'ai trouvé une autre solution
je mets simplement une ligne

maVariable = Environ("UserName")
3
crenaud76
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
28
12 avril 2005 à 09:47
Pourquoi sBuff = Space$(250) et lRet = 251 !!!!!!

Christophe R
0
cs_lucio57
Messages postés
146
Date d'inscription
lundi 10 février 2003
Statut
Membre
Dernière intervention
25 juillet 2007
2
15 avril 2005 à 08:26
En fait mon code marchait comme ça en VB6.
Sauf que sBuff était déclaré en dim sBuff as string * 250 ce que je ne peux pas faire sous VB.net donc j'ai adapté pour que sBuff soit composé d'espace. lRet a 251 j'ai également essayé 250 voire 249 mais rien n'y fait en tout cas la mérhode environ marche parfaitement et est beaucoup plus simple
0