Recientemente he necesitado recoger el usuario de Windows desde Visual Basic para hacer una serie de consultas, a continuación os describo la función usada para ello.
|
'Declaración de la API Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _ (ByVal lpBuffer As String, nSize As Long) As Long |
Definición de la función
|
'Obtiene el usuario actual del sistema Function Get_User_Name() As String 'creamos variables Dim lpBuff As String * 25 Dim ret As Long Dim UserName As String 'Obtenemos el nombre de la api. ret = GetUserName(lpBuff, 25) UserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1) ' Devolvemos el nombre de usuario Get_User_Name = UserName End Function |
Ahora ya podemos pedir desde cualquier sitio de nuestro programa por la función para obtener el login de usuario del sistema.
|
Msgbox "El usuario actual es: " & Get_User_Name |