Trouver le nom de d'utilisateur connecte sur le pc

Soyez le premier à donner votre avis sur cette source.

Vue 24 099 fois - Téléchargée 966 fois

Description

Comment puis-je connaître le nom d'utilisateur de l'utilisateur loggé ?

Mettez ce code dans un Module :

Source / Exemple :


Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

' Puis Utilisez ce code dans votre Formulaire dans le Form_Load par Exemple :

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) Else Utilisateur = ""

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

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
ca fonctionne, mais ca risque de coincer sur d'autres ordinateurs...
Messages postés
21
Date d'inscription
mardi 17 juillet 2007
Statut
Membre
Dernière intervention
17 décembre 2008

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 !
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
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...
Messages postés
21
Date d'inscription
mardi 17 juillet 2007
Statut
Membre
Dernière intervention
17 décembre 2008

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 ;)
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
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
Afficher les 18 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.