Conocer Privilegios Usuario NT

Esta función devuelve Verdadero o Falso dependiendo si el usuario actual es Administrador del Sistema o no. Sólo para NT:

Const GENERIC_READ = &H80000000
Const GENERIC_WRITE = &H40000000
Const GENERIC_EXECUTE = &H20000000
Public Declare Function OpenSCManager Lib "advapi32.dll" Alias "OpenSCManagerA" (ByVal lpMachineName As String, _
            ByVal lpDatabaseName As String, ByVal dwDesiredAccess As Long) As Long
   
Public Declare Function CloseServiceHandle Lib "advapi32.dll" (ByVal hSCObject As Long) As Long
Public Function UsuarioActualEsAdministrador()    
    Dim ResUsuario As Long
    
    ResUsuario = OpenSCManager(vbNullString, vbNullString, GENERIC_READ Or GENERIC_WRITE Or GENERIC_EXECUTE)
    If ResUsuario = 0 Then
        UsuarioActualEsAdministrador = False
    Else
        CloseServiceHandle ResUsuario
        UsuarioActualEsAdministrador = True
    End If
End Function
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s