NOME DO GRUPO DE TRABALHO NA REDE

JLSMA 05/06/2010 09:52:05
#343942
BOM DIA PESSOAL

é POSSÍVEL CAPTURAR O NOME DO GRUPO DE TRABALHO NA DE VIA VB?
PARA GRAVAR EM UM BD,

O OBJETIVO é TER CONTROLE DE ACESSO DO APLICATIVO ON LINE, SABER QUE ACESSOU E DA ONDE,
ESPECIFICANDO USUARIO, HD, NOME DO MICRO E O GRUPO DE TRABALHO,

NO MEU CASO OS DEMAIS ESTÃO OK, PRECISO SOMENTE DO GRUPO DE TRABALHO

OBRIGADO

LIZANDER 05/06/2010 10:32:41
#343953
Resposta escolhida
Tá na mão...

Em um módulo vc coloca:

Type WKSTA_INFO_101
wki101_platform_id As Long
wki101_computername As Long
wki101_langroup As Long
wki101_ver_major As Long
wki101_ver_minor As Long
wki101_lanroot As Long
End Type

Declare Function NetWkstaGetInfo& Lib [Ô]Netapi32[Ô] _
(strServer As Any, ByVal lLevel&, pbBuffer As Any)
Declare Sub lstrcpyW Lib [Ô]kernel32[Ô] (dest As Any, ByVal src As Any)
Declare Sub RtlMoveMemory Lib [Ô]kernel32[Ô] _
(dest As Any, src As Any, ByVal size&)
Declare Function NetApiBufferFree& Lib [Ô]Netapi32[Ô] (ByVal buffer&)

Function GetWorkgroup() As String
Dim ret As Long, buffer(512) As Byte, i As Integer
Dim wk101 As WKSTA_INFO_101, pwk101 As Long
Dim langroup As String

ret = NetWkstaGetInfo(ByVal 0&, 101, pwk101)
RtlMoveMemory wk101, ByVal pwk101, Len(wk101)

lstrcpyW buffer(0), wk101.wki101_langroup
i = 0
Do While buffer(i) <> 0
langroup = langroup & Chr(buffer(i))
i = i + 2
Loop
ret = NetApiBufferFree(pwk101)

GetWorkgroup = langroup
End Function


Para obter o grupo de trabalho, basta chamar a função GetWorkgroup

p. ex:
MsgBox GetWorkgroup
Tópico encerrado , respostas não são mais permitidas