Te mando el código completo de una librería que hice en vb4, solo es necesario llamar GetUsuario para que te regrese el string conteniendo el nombre de usuario. Este código funciona en redes windows, obtiene el nombre del usuario logeado en la terminal. El código es para win32, para pasarlo a win16 solo es necesario cambiar las cabeceras de las funciones API a sus equivalentes en win16.Attribute VB_Name = "Redes" ´Este módulo contiene todo el código y declaraciones utilizadas para la identificación y registro del usuario en el sistema Por omisión, se supone que el login del usuario al sistema es el mismo que del usuario a la red. Option Explicit ´Determina la longitud máxima del login de Windows Private Const MAX_USERNAME_LENGTH As Long = 20Declare Function GetUserName Lib "advapi32" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long Function StrZToStr(ByVal StrZ As String) As String On Error GoTo StringError StrZToStr = Left$(StrZ, InStr(StrZ, vbNullChar) - 1) Exit Function StringError: StrZToStr = "" End Function Function GetUsuario() As String Dim m_UserName As String ´Para obtener el nombre del usuario ´Obtengo el nombre del usuario logeado en Windows m_UserName = String$(20 + 1, vbNullChar) GetUserName m_UserName, Len(m_UserName) GetUsuario = StrZToStr(m_UserName)End Function
|