visual una then suma resueltos matriz matrices llenar hacer funcion filas etiqueta ejercicios concepto como columnas vb6 windows-xp

una - Usando VB6, ¿cómo obtengo el usuario y el dominio actual en Windows XP?



matrices en visual basic 6.0 ejercicios resueltos (5)

Necesito el usuario actual y el dominio. Estoy usando una aplicación VB 6.

Gracias


¿Qué hay de esto?

Private Function IsAdmin() As Boolean Dim groups As Object Dim user As Object Set groups = GetObject("WinNT://./administrators") For Each user In groups.members If UCase(Environ("USERNAME")) = UCase(user.Name) Then IsAdmin = True End If Next user End Function



Una forma sería preguntarle al medio ambiente:

Dim UserName As String Dim UserDomain As String UserName = Environ("USERNAME") UserDomain = Environ("USERDOMAIN")

(Funciona en Windows NT y solo arriba, obviamente).


Utilice los siguientes métodos del objeto WshNetwork, que está disponible después de hacer referencia al modelo de objetos de host de Windows Script en su proyecto:

Dim Network As WshNetwork Set Network = New WshNetwork Debug.Print "ComputerName: " & Network.ComputerName Debug.Print "UserDomain: " & Network.UserDomain Debug.Print "UserName: " & Network.UserName

Eché los resultados a mayúsculas o minúsculas para obtener consistencia, pero esos son los métodos que necesita.

Tenga en cuenta que cuando se ejecuta en una máquina que no está registrada en un dominio, ComputerName y UserDomain devuelven lo mismo: el nombre de la computadora.


Y la versión API:

Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long Declare Function LookupAccountName Lib "advapi32.dll" Alias "LookupAccountNameA" (lpSystemName As String, ByVal lpAccountName As String, sid As Any, cbSid As Long, ByVal ReferencedDomainName As String, cbReferencedDomainName As Long, peUse As Long) As Long Private Sub Form_Load() Dim sDomainName As String * 255 Dim lDomainNameLength As Long Dim sUserName as String Dim bUserSid(255) As Byte Dim lSIDType As Long Rem Create a buffer sUserName = String(100, Chr$(0)) Rem Get the username GetUserName sUserName, 100 Rem strip the rest of the buffer sUserName = Left$(sUserName, InStr(sUserName, Chr$(0)) - 1) rem Show the temppath and the username MsgBox "Hello " + strUserName lResult = LookupAccountName(vbNullString, sUserName, bUserSid(0), 255, sDomainName, lDomainNameLength, _ lSIDType) if lResult <>0 then msgbox sDomainName end if end sub