USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Checar grupo local no windows
Dsantos
RIO DE JANEIRO
RJ - BRASIL
Postada em 07/08/2007 13:54 hs         
Mestres da programação.
 
Alguém sabe se é possivel verificar através do VB se o login que esta sendo usado no windows (Ex.: dsantos) faz parte do grupo de administradores local da estação.
 
Desde já agradeço.
 
 
     
Vilmar Brazão
Pontos: 2843
SAO PAULO
SP - BRASIL
Postada em 07/08/2007 15:27 hs         
acho que dá sim:

veja este exemplo;

copiar este código num módulo modConfRegionais.bas:
 
Option Explicit
Private Declare Function apiLerInfoRegional Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
Private Declare Function apiGrvInfoRegional Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Boolean
Private Declare Function apiObterPadraoLCID Lib "kernel32" Alias "GetUserDefaultLCID" () As Long
Public Enum enuFluxoDados
  FLXD_Leitura = &H1
  FLXD_Gravacao = &H2
End Enum
Public Enum enuRegional
  LOCALE_ICENTURY = &H24
  LOCALE_ICOUNTRY = &H5
  LOCALE_ICURRDIGITS = &H19
  LOCALE_ICURRENCY = &H1B
  LOCALE_IDATE = &H21
  LOCALE_IDAYLZERO = &H26
  LOCALE_IDEFAULTCODEPAGE = &HB
  LOCALE_IDEFAULTCOUNTRY = &HA
  LOCALE_IDEFAULTLANGUAGE = &H9
  LOCALE_IDIGITS = &H11
  LOCALE_IINTLCURRDIGITS = &H1A
  LOCALE_ILANGUAGE = &H1
  LOCALE_ILDATE = &H22
  LOCALE_ILZERO = &H12
  LOCALE_IMEASURE = &HD
  LOCALE_IMONLZERO = &H27
  LOCALE_INEGCURR = &H1C
  LOCALE_INEGSEPBYSPACE = &H57
  LOCALE_INEGSIGNPOSN = &H53
  LOCALE_INEGSYMPRECEDES = &H56
  LOCALE_IPOSSEPBYSPACE = &H55
  LOCALE_IPOSSIGNPOSN = &H52
  LOCALE_IPOSSYMPRECEDES = &H54
  LOCALE_ITIME = &H23
  LOCALE_ITLZERO = &H25
  LOCALE_NOUSEROVERRIDE = &H80000000
  LOCALE_S1159 = &H28
  LOCALE_S2359 = &H29
  LOCALE_SABBREVCTRYNAME = &H7
  LOCALE_SABBREVDAYNAME1 = &H31
  LOCALE_SABBREVDAYNAME2 = &H32
  LOCALE_SABBREVDAYNAME3 = &H33
  LOCALE_SABBREVDAYNAME4 = &H34
  LOCALE_SABBREVDAYNAME5 = &H35
  LOCALE_SABBREVDAYNAME6 = &H36
  LOCALE_SABBREVDAYNAME7 = &H37
  LOCALE_SABBREVLANGNAME = &H3
  LOCALE_SABBREVMONTHNAME1 = &H44
  LOCALE_SCOUNTRY = &H6
  LOCALE_SCURRENCY = &H14
  LOCALE_SDATE = &H1D
  LOCALE_SDAYNAME1 = &H2A
  LOCALE_SDAYNAME2 = &H2B
  LOCALE_SDAYNAME3 = &H2C
  LOCALE_SDAYNAME4 = &H2D
  LOCALE_SDAYNAME5 = &H2E
  LOCALE_SDAYNAME6 = &H2F
  LOCALE_SDAYNAME7 = &H30
  LOCALE_SDECIMAL = &HE
  LOCALE_SENGCOUNTRY = &H1002
  LOCALE_SENGLANGUAGE = &H1001
  LOCALE_SGROUPING = &H10
  LOCALE_SINTLSYMBOL = &H15
  LOCALE_SLANGUAGE = &H2
  LOCALE_SLIST = &HC
  LOCALE_SLONGDATE = &H20
  LOCALE_SMONDECIMALSEP = &H16
  LOCALE_SMONGROUPING = &H18
  LOCALE_SMONTHNAME1 = &H38
  LOCALE_SMONTHNAME10 = &H41
  LOCALE_SMONTHNAME11 = &H42
  LOCALE_SMONTHNAME12 = &H43
  LOCALE_SMONTHNAME2 = &H39
  LOCALE_SMONTHNAME3 = &H3A
  LOCALE_SMONTHNAME4 = &H3B
  LOCALE_SMONTHNAME5 = &H3C
  LOCALE_SMONTHNAME6 = &H3D
  LOCALE_SMONTHNAME7 = &H3E
  LOCALE_SMONTHNAME8 = &H3F
  LOCALE_SMONTHNAME9 = &H40
  LOCALE_SMONTHOUSANDSEP = &H17
  LOCALE_SNATIVECTRYNAME = &H8
  LOCALE_SNATIVEDIGITS = &H13
  LOCALE_SNATIVELANGNAME = &H4
  LOCALE_SNEGATIVESIGN = &H51
  LOCALE_SPOSITIVESIGN = &H50
  LOCALE_SSHORTDATE = &H1F
  LOCALE_STHOUSAND = &HF
  LOCALE_STIME = &H1E
  LOCALE_STIMEFORMAT = &H1003
End Enum
Public Function sInfoRegional(ByVal eFluxoDados As enuFluxoDados, _
                              ByVal eInfoRegional As enuRegional, _
                              Optional ByVal sNovoValor As String = vbNullString) As String
  Dim lRet1 As Long, lRet2 As Long, nPos1 As Integer
  Dim lRegional As Long, sInfo1 As String, sInfo2 As String
  sInfoRegional = vbNullString
  '-- Início ...
  sInfo1 = vbNullString
  sInfo2 = vbNullString
  sNovoValor = Trim$(sNovoValor)
  lRegional = apiObterPadraoLCID()
  '-- Processamento ...
  Select Case eFluxoDados
    Case enuFluxoDados.FLXD_Leitura
      lRet1 = apiLerInfoRegional(lRegional, eInfoRegional, sInfo2, 0)
      sInfo1 = String$(lRet1, 0)
      lRet2 = apiLerInfoRegional(lRegional, eInfoRegional, sInfo1, lRet1)
      nPos1 = InStr(sInfo1, Chr$(0))
      sInfo2 = IIf((nPos1 > 0), Left$(sInfo1, (nPos1 - 1)), vbNullString)
    Case enuFluxoDados.FLXD_Gravacao
      lRet1 = apiGrvInfoRegional(lRegional, eInfoRegional, sNovoValor)
      If Not (lRet1 = 1) Then GoTo Sair
      sInfo2 = sNovoValor
  End Select
  '-- Sucesso ...
  sInfoRegional = sInfo2
Sair:
End Function
 
 
copia este código num form frmConfRegionais com um commandbutton:
 
Option Explicit
Private Sub Command1_Click()
    'Obter informações das configurações regionais(regional settings) do windows, assim como pode gravar,
    'conforme as constantes de configurações fornecidas a função sInfoRegional.
    MsgBox "Formato de data longa:" & vbCrLf & sInfoRegional(FLXD_Leitura, LOCALE_SLONGDATE) & vbCrLf & vbCrLf _
         & "Formato de data curta:" & vbCrLf & sInfoRegional(FLXD_Leitura, LOCALE_SSHORTDATE) & vbCrLf & sInfoRegionais(FLXD_Leitura, LOCALE_SGROUPING)
End Sub

http://www.vilmarbro.com.br
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 07/08/2007 16:48 hs            

veja se isso funciona colega:

MSGBOX "O usuário " & Environ("USERNAME") & " pertence a" & Environ("USERDOMAIN")

TÓPICO EDITADO
 
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 08/08/2007 09:16 hs            
Hummm, acho que me enganei com sua pergunta amigo. Vc queria saber o grupo e não o domínio...
 
bom veja estes 2 exemplos para ver se te servem:
 
 
 
at+
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página