GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Usuário logado na rede
Go
Novo
Procurar
Notificar
Ferramentas
Responder
  
-star Rating Vote!  Login/Cadastrar 
Programador Sênior

postado
Pessoal a muito tempo venho utilizados a rotina abaixo para pegar o login de quem logou na rede, mas agora me apareceu o Windows 2000 e esta rotina pega o nome de que logou a máquina, como cadastramos o login 'Guest' sem senha para todos a rotina pega este nome e não de quem logou na rede que seria o ideal para mim, será que alguem poderá me ajudar?

Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Function fOSUserName() As String
Dim lngLen As Long, lngX As Long
Dim strusername As String
strusername = String$(254, 0)
lngLen = 255
lngX = apiGetUserName(strusername, lngLen)
If lngX <> 0 Then
fOSUserName = Left$(strusername, lngLen - 1)
Else
fOSUserName = ""
End If
End Function

Obs.: No Windows 98 continua funcionando perfeitamente.
 
Postagens: 312 | Localização: Goiânia, Goiás, Brasil | Registrado: 31 October 2001Reply With QuoteReport This Post
Programador Sênior

postado Hide Post
continuo aguardando alguma dica...
 
Postagens: 312 | Localização: Goiânia, Goiás, Brasil | Registrado: 31 October 2001Reply With QuoteReport This Post
Programador Sênior

postado Hide Post
Com paciencia continuo esperando ...
 
Postagens: 312 | Localização: Goiânia, Goiás, Brasil | Registrado: 31 October 2001Reply With QuoteReport This Post
<Marcelo Rebello>
postado
Serginho, tente fazer o seguinte:

1 - Crie um novo módulo e coloque as seguintes linhas:
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Public ret As Long
Public Usuário As String

2 - Salve o módulo com qualquer nome;

3 - No formulário que você tem como o primeiro a ser aberto junto com o banco de dados crie um campo com o nome "UserID" e, no evento Ao Abrir do formulário, coloque a seguinte rotina:

Dim X As String
'captura o nome do usuario logado na rede
Usuário = String(255, 0)
ret = GetUserName(Usuário, Len(Usuário))

'elimina os nulos da variavel Usuário
X = 1

Do While Asc(Mid(Usuário, X, 1)) <> 0
X = X + 1
Loop

Usuário = Left(Usuário, (X - 1))

UserID = Usuário

Espero ter ajudado...
 
Reply With QuoteReport This Post
  Powered by Social Strata  
 

GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Usuário logado na rede

©