TROUVER LE NOM DE D'UTILISATEUR CONNECTE SUR LE PC

Aramiil Messages postés 48 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 21 avril 2008 - 1 sept. 2003 à 18:21
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 18 juil. 2007 à 22:55
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/91-trouver-le-nom-de-d-utilisateur-connecte-sur-le-pc

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
18 juil. 2007 à 22:55
ca fonctionne, mais ca risque de coincer sur d'autres ordinateurs...
Psychotronic Messages postés 21 Date d'inscription mardi 17 juillet 2007 Statut Membre Dernière intervention 17 décembre 2008
18 juil. 2007 à 17:25
Mais sa marche à la perfection...j'suis un débutant en VB, j'ai commencé pour la première fois il y a deux jours !
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
18 juil. 2007 à 17:15
aïe...
je te files une fonction toute faite
tu n'avais rien a faire, juste (j'aime toujours pas cet event mais bon) :

Private Sub Label6_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label6.TextChanged
Label6.Text = GetUserName
End Sub


tu as introduit un bug potentiel... tu ne vérifie pas si tu as bien DOMAIN\USERNAME
et tu prend d'office l'element #1 d'un tableau qui n'en est peut etre pas un...
Psychotronic Messages postés 21 Date d'inscription mardi 17 juillet 2007 Statut Membre Dernière intervention 17 décembre 2008
18 juil. 2007 à 16:38
C'était pas exactement ce que j'espérais trouver mais ça a quand même marché avec quelques modifications :

Private Sub Label6_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label6.TextChanged
Dim parts() As String = Split(My.User.Name, "")
Dim username As String = parts(1)
Label6.Text = username
End Sub

Merci RenField ;)
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
18 juil. 2007 à 16:11
lire la doc t'aurait évité cette question...

en effet, on trouve ici : http://msdn2.microsoft.com/fr-fr/library/ms172997(VS.80).aspx

un code en VB2005 :

Function GetUserName() As String
If TypeOf My.User.CurrentPrincipal Is _
Security.Principal.WindowsPrincipal Then
' The application is using Windows authentication.
' The name format is DOMAIN\USERNAME.
Dim parts() As String = Split(My.User.Name, "")
Dim username As String = parts(1)
Return username
Else
' The application is using custom authentication.
Return My.User.Name
End If
End Function
Psychotronic Messages postés 21 Date d'inscription mardi 17 juillet 2007 Statut Membre Dernière intervention 17 décembre 2008
18 juil. 2007 à 15:48
L'inconvénient avec mon code, c'est que le nom d'utilisateur s'affiche toujours avec le nom du domaine (le nom du PC). IL y aurait t-il un moyen de l'afficher sans le nom de domaine ? (n'oubliez pas que je suis avec Visual Basic 2005)
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
18 juil. 2007 à 07:41
malin, de changer le texte du Label dans cet evenement...

heureusement que .Net est plus malin, sinon, bonjour les boucles sans fin ^^
Psychotronic Messages postés 21 Date d'inscription mardi 17 juillet 2007 Statut Membre Dernière intervention 17 décembre 2008
18 juil. 2007 à 05:12
Avec Visual Basic 2005, il suffit d'écrire My.User.Name
Pour l'inscrire dans unelabel existante, faites :

Private Sub NomDuLabel_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NomDuLabel.TextChanged
NomDuLabel.Text = "Bienvenue " & My.User.Name
End Sub
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
15 mai 2007 à 19:12
sampapaya Messages postés 8 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 15 mai 2007
15 mai 2007 à 13:18
Je suis débutant sous VBS et je soug=haite réaliser le même programme mais sous vbs, merci d'avance et bonne journée!!!!
nycoss Messages postés 86 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 9 mars 2006
8 déc. 2004 à 14:18
ok c'est bon merci ca marche ;)
jte mé 10/10
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
7 déc. 2004 à 23:09
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Private Sub Form_Load()
Dim Ch As String
Dim a As Long
Dim b As Long
Dim Utilisateur As String

a = 199
Ch = String$(200, 0)
b = GetUserName(Ch, a)
If b <> 0 Then Utilisateur Left$(Ch, a - 1) Else Utilisateur ""

MsgBox ("Utilisateur loggé : " & Utilisateur & "Hello")
End Sub


Maintenant, si tu trouves pas le code suivant plus simple....

Private Sub Form_Load()
Dim Utilisateur As String

Utilisateur = Environ$("username")

MsgBox ("Utilisateur loggé : " & Utilisateur & "Hello")
End Sub
nycoss Messages postés 86 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 9 mars 2006
7 déc. 2004 à 21:15
Tu veu dire comme ça?

a = 199
Ch = String$(200, 0)
b = GetUserName(Ch, a)
If b <> 0 Then utilisateur Left$(Ch, b) Else Utilisateur ""
MsgBox utilisateur

parceque si je fait ça j'ai juste la premier lettre du nom d'utilisateur et si je met juste

If b <> 0 Then utilisateur Left$(Ch, b) Else Utilisateur ""

je n'est rien du tout
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
7 déc. 2004 à 20:46
utilises pas l'API ici... , c'est inutile sous VB....

sinon, fais simplement

If b <> 0 Then Utilisateur Left$(Ch, b) Else Utilisateur ""
nycoss Messages postés 86 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 9 mars 2006
7 déc. 2004 à 19:42
eu le code marche mais je n'arrive pas a ajouter des caractére a la chaine

utilisateur = utilisateur + "Ajout"
msgbox utilisateur

resultat : juste le nom de l'utilisateur

merci si vous avez une solution
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
27 août 2004 à 11:35
API pas utile ici...

la fonction environ s'en charge :

MsgBox environ$("username")
AtomiKiller Messages postés 127 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 11 juin 2008
1 févr. 2004 à 02:07
Text1.Text = Winsock1.LocalHostName
Aramiil Messages postés 48 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 21 avril 2008
1 sept. 2003 à 18:21
Enfin un moyen de conaitre le nom d'utilisateur! je cherchais depuis 2 heure et j'avais pas trouvé! Bon je comprend strictement rien mais tant pis ;-)
Rejoignez-nous