¿Cómo obtener nombre de usuario?

Lamento ser una pequeña parte de tu tiempo perdido :-P.
Mi nuevo problema es que necesito saber si en Visual basic existe alguna instrucción para obtener el nombre de usuario de sesión de windows (que estoy seguro de que la hay) y de password o dominio (que ya no estoy tan seguro). De esta forma al iniciar la aplicación que estoy desarrollando se podrá comprobar que usuario es y que privilegios tiene dentro de la aplicación.

3 respuestas

Respuesta
1
Solamente se puede extraeer el nombre del usuario, no así el pass.
Lo que tienes que hacer es lo siguiente:
En las declaraciones del formulario colocas la instrruccion:
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
luego en el load del mismo form
Dim strBuffer As String * 256
GetUserName strBuffer, Len(strBuffer)
Label1.Caption = strBuffer
MsgBox "Hello " + strBuffer
Con eso ves el nombre del usuario que ha iniciado la sesión
Éxitos !
Respuesta
1
No he tenido que hacer aplicaciones con estas características, pero te puedo recomendar tres páginas que puedes accesar y de ahí tomar, ya sea aplicaciones o segmentos de código para aplicarlo en tu proyecto, espero que no te moleste esto, porque a otros usuarios de todoexpertos les molesta investigar un poco.
http://www.jrubi.com
http://www.planet-source-code.com
http://www.lawebdelprogramador.com
e-mail: [email protected]
Respuesta
1
Esta es una fórmula de las que tengo, a ver si te sirve:
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
(ByVal lpBuffer As String, nSize As Long) As Long
para recuperar una versión "limpia" del nombre, usa esta función:
Public Function NTDomainUserName() As String
Dim strBuffer As String * 255
Dim lngBufferLength As Long
Dim lngRet As Long
Dim strTemp As String
lngBufferLength = 255
lngRet = GetUserName(strBuffer, lngBufferLength)
strTemp = UCase(Trim$(strBuffer))
NTDomainUserName = Left$(strTemp, Len(strTemp) - 1)
End Function

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas