Récupération du nom de domaine et de l'utilisateur courant Windows NT/2000/XP dans Access

Option Compare Database
Private Declare Function api_GetUserName Lib "advapi32.dll" Alias
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Private Declare Function api_GetComputerName Lib "Kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Public Function CNames(UserOrComputer As Byte) As String
  Dim NBuffer As String
  Dim Buffsize As Long
  Dim wOK As Long
  Buffsize = 256
  NBuffer = Space$(Buffsize)
  If UserOrComputer = 1 Then
    wOK = api_GetUserName(NBuffer, Buffsize)
    CNames = Trim$(NBuffer)
  Else
    wOK = api_GetComputerName(NBuffer, Buffsize)
    CNames = Trim$(NBuffer)
  End If
End Function

Sub test()
  MsgBox CNames(1) ' Nom d'utilisateur
  MsgBox CNames(0) ' Domaine
End Sub