Visual Basic Core Snippet Routines
   Retrieves the user name of the current thread. This is the name of the user currently logged onto the system. If the current thread is impersonating another client, GetUserName returns the user name of the client that the thread is impersonating.         
           Updated:   Monday December 26, 2011   
click to copy code:  

   Applies to:   VB4-32, VB5, VB6   
OS restrictions:   None  
 Code Snippet
' Copyright 1996-2011 VBnet/Randy Birch, All Rights Reserved.
' Some pages may also contain other copyrights by the author.
' Distribution: You can freely use this code in your own
'               applications, but you may not reproduce 
'               or publish this code on any web site,
'               online service, or distribute as source 
'               on any media without express permission.
Private Const MAX_USERNAME As Long = 15

Private Declare Function GetUserName Lib "advapi32" _
   Alias "GetUserNameA" _
  (ByVal lpBuffer As String, _
   nSize As Long) As Long
Private Declare Function lstrlenW Lib "kernel32" _
  (ByVal lpString As Long) As Long
Private Function GetThreadUserName() As String

  'Retrieves the user name of the current
  'thread. This is the name of the user
  'currently logged onto the system. If
  'the current thread is impersonating
  'another client, GetUserName returns
  'the user name of the client that the
  'thread is impersonating.
   Dim buff As String
   Dim nSize As Long
   buff = Space$(MAX_USERNAME)
   nSize = Len(buff)

   If GetUserName(buff, nSize) = 1 Then

      GetThreadUserName = TrimNull(buff)
      Exit Function

   End If

End Function

Private Function TrimNull(startstr As String) As String

   TrimNull = Left$(startstr, lstrlenW(StrPtr(startstr)))
End Function

 Calling Syntax
   sUsername = GetThreadUserName()

 Comments / Related
demo in use:  GetDiskFreeSpaceEx: Detailed Drive Info
Related:  NetUserGetInfo: Network User Full Name and Comments
NetUserGetInfo: Enumerate the User List and Obtain User Info  


PayPal Link
Make payments with PayPal - it's fast, free and secure!


Copyright 1996-2011 VBnet and Randy Birch. All Rights Reserved.
Terms of Use  |  Your Privacy


Hit Counter