Computernamen im Netzwerk auflisten

Hallo!

Kann ich alle Computernamen im Netztwerk in Visual Basic auflisten lassen (und in eine Listbox eintragen lassen)?

Danke

Gruß Hans

Hallo, Hans!

Kann ich alle Computernamen im Netztwerk in Visual Basic
auflisten lassen (und in eine Listbox eintragen lassen)?

Guckst Du hier http://www.activevb.de/tipps/vb6tipps/tipp0479.html

Gruß, Manfred

Hallo!

Kenn da nicht jemand eine einfachere Methode. Bei diesem Tipp sind noch sehr vile mehr zusaztinformation drin, die ich gar nicht brauche. Ich muss nur die Computernamen eintragen lassen.

Hans

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo, Hans!

Guckst Du hier
http://www.activevb.de/tipps/vb6tipps/tipp0479.html

Kenn da nicht jemand eine einfachere Methode. Bei diesem Tipp
sind noch sehr vile mehr zusaztinformation drin, die ich gar
nicht brauche. Ich muss nur die Computernamen eintragen
lassen.

Dann hier (wie unten unter dem ersten Tip vermerkt): http://www.activevb.de/tipps/vb6tipps/tipp0046.html
Schmeiß halt das, was Du nicht brauchst (z. B. Freigaben), raus.

Gruß, Manfred

Hallo!

Brauche ich also in dem Modul (vom Tipp „Tipp 0046: Alle Netzwerkressourcen erfassen“ auf der Seite http://www.activevb.de/tipps/vb6tipps/tipp0046.html) nur folgendes:

Public Function Netsuche1()
Const MAX_RESOURCES = 2048
Const NOT_A_CONTAINER = -1

'VARS
Dim bFirstTime As Boolean, Läufer As Long, lRet As Long, hEnum As Long
Dim lCnt As Long, lMin As Long, lLen As Long, lBufSize As Long
Dim lLastIx As Long, l As Long, NetAusgabe As String

'samel Vars
Dim uNetApi(0 To MAX_RESOURCES) As NETRESOURCE
Dim uNet() As NETRESOURCE_REAL

bFirstTime = True

'### Ressourcen Auslesen
Do
If bFirstTime Then
lRet = WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, _
RESOURCEUSAGE_ALL, ByVal 0&, hEnum)
bFirstTime = False
Else
If uNet(lLastIx).dwUsage And RESOURCEUSAGE_CONTAINER Then
lRet = WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, _
RESOURCEUSAGE_ALL, uNet(lLastIx), hEnum)
Else
lRet = NOT_A_CONTAINER
hEnum = 0
End If

lLastIx = lLastIx + 1
End If

If lRet = NO_ERROR Then
lCnt = RESOURCE_ENUM_ALL

Do
lBufSize = UBound(uNetApi) * Len(uNetApi(0)) / 2
lRet = WNetEnumResource(hEnum, lCnt, uNetApi(0), lBufSize)

If lCnt > 0 Then

ReDim Preserve uNet(0 To lMin + lCnt - 1) _
As NETRESOURCE_REAL

For l = 0 To lCnt - 1
uNet(lMin + l).dwScope = uNetApi(l).dwScope
uNet(lMin + l).dwType = uNetApi(l).dwType
uNet(lMin + l).dwDisplayType = uNetApi(l).dwDisplayType
uNet(lMin + l).dwUsage = uNetApi(l).dwUsage

If uNetApi(l).pLocalName Then
lLen = lstrlen(uNetApi(l).pLocalName)
uNet(lMin + l).sLocalName = Space$(lLen)
CopyMemory ByVal uNet(lMin + l).sLocalName, _
ByVal uNetApi(l).pLocalName, lLen
End If

If uNetApi(l).pRemoteName Then
lLen = lstrlen(uNetApi(l).pRemoteName)
uNet(lMin + l).sRemoteName = Space$(lLen)

CopyMemory ByVal uNet(lMin + l).sRemoteName, _
ByVal uNetApi(l).pRemoteName, lLen
End If

If uNetApi(l).pComment Then
lLen = lstrlen(uNetApi(l).pComment)
uNet(lMin + l).sComment = Space$(lLen)

CopyMemory ByVal uNet(lMin + l).sComment, _
ByVal uNetApi(l).pComment, lLen
End If

If uNetApi(l).pProvider Then
lLen = lstrlen(uNetApi(l).pProvider)
uNet(lMin + l).sProvider = Space$(lLen)

CopyMemory ByVal uNet(lMin + l).sProvider, _
ByVal uNetApi(l).pProvider, lLen
End If
DoEvents
Next l
End If

lMin = lMin + lCnt
DoEvents
Loop While lRet = ERROR_MORE_DATA
End If
If hEnum Then l = WNetCloseEnum(hEnum)
DoEvents
Loop While lLastIx 0 Then
Form1.Liste.AddItem NetAusgabe
NetAusgabe = „“
End If
Next Läufer
End Function

Danke
Hans