VB 5/6-Tipp 0479: Alle Computer im Netzwerk auflisten
von Ruru
Beschreibung
Dieses Programm listet alle in einer Domäne vorhandenen Computer auf. Wenn ein Computer ausgewählt ist, wird eine Liste aller Benutzer dieses Rechners zurückgegeben (Netzwerkbenutzer und Lokale User).
Schwierigkeitsgrad: | Verwendete API-Aufrufe: RtlMoveMemory (CopyMemory), NetApiBufferFree, NetGetDCName, NetServerEnum, NetUserEnum, lstrlenW | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------- Anfang Projektdatei Projekt1.vbp ------------- ' Die Komponente 'Microsoft Windows Common Controls 6.0 (SP6) (mscomctl.ocx)' wird benötigt. '--- Anfang Formular "frmUserView" alias frmUserView.frm --- ' Steuerelement: Schaltfläche "Command1" ' Steuerelement: Listenanzeigesteuerungselement "Users" ' Steuerelement: Bilderlistenelement "ImageList1" ' Steuerelement: Listenanzeigesteuerungselement "SrvList" Option Explicit 'Autor: Ruru, ruru@11mail.com Dim OldUser As String Dim Domain As String Sub SeekComputer() Dim x As Integer, xItem As ListItem Dim ServerList As ListOfServer MousePointer = vbHourglass Me.SrvList.ListItems.Clear Me.SrvList.Enabled = False ServerList = EnumServer(SRV_TYPE_ALL) If ServerList.Init Then For x = 1 To UBound(ServerList.List) Set xItem = Me.SrvList.ListItems.Add(, , ServerList.List(x).ServerName) xItem.SubItems(1) = ServerList.List(x).Comment Select Case ServerList.List(x).Type Case Is >= 5 'xItem.Tag = "x" xItem.SmallIcon = 1 xItem.SubItems(2) = " Workstation" Case Is = 4 xItem.SmallIcon = 2 xItem.SubItems(2) = " Server" Case Else xItem.SmallIcon = 1 xItem.SubItems(2) = " Workstation" End Select Next End If Me.SrvList.Enabled = (Me.SrvList.ListItems.Count > 0) MousePointer = vbDefault End Sub Private Sub Command1_Click() SrvList.Visible = True Users.Visible = False Me.Caption = "Bitte Computer aus folgender Domäne wählen: " & Domain End Sub Private Sub Form_Load() Dim x As Integer Dim xItem As ListItem Dim WksInfo As ServerInfo MousePointer = vbHourglass ' Einfaches lesen der Domäne über Wscript Dim objWshNet As Object Set objWshNet = CreateObject("Wscript.Network") Domain = objWshNet.userdomain Set objWshNet = Nothing If Domain <> "" Then Me.Caption = "Bitte Computer aus folgender Domäne wählen: " & Domain Else MsgBox "Computer ist an keiner Domäne angeschlossen." & vbNewLine & _ "Bitte Netzkabel und Netzverbindung überprüfen", vbExclamation, "Warnung" End End If MousePointer = vbDefault SeekComputer If CurrentServer <> "" Then Set xItem = Me.SrvList.FindItem(CurrentServer) If xItem Is Nothing Then Exit Sub Else xItem.EnsureVisible xItem.Selected = True End If End If End Sub Private Sub LoadAccountList(CurServer As String) Dim x As Integer Dim LocalUsers As ListOfUserExt Dim xItem As ListItem Me.Users.ListItems.Clear LocalUsers = LongEnumUsers(CurServer) If LocalUsers.Init Then For x = 1 To UBound(LocalUsers.List) Set xItem = Me.Users.ListItems.Add(, , LocalUsers.List(x).Name) xItem.SubItems(1) = LocalUsers.List(x).FullName xItem.SubItems(2) = LocalUsers.List(x).Comment Next End If Me.Users.Enabled = (Me.Users.ListItems.Count > 0) If Me.Users.Enabled Then Set xItem = Nothing If OldUser <> "" Then Set xItem = Me.Users.FindItem(OldUser) End If If xItem Is Nothing Then Set Me.Users.SelectedItem = Me.Users.ListItems(1) Else Set Me.Users.SelectedItem = xItem End If Me.Users.SelectedItem.EnsureVisible End If If LocalUsers.LastErr > 0 Then Unload Me End Sub Private Sub SrvList_DblClick() ' If Me.SrvList.SelectedItem.Tag = "x" Then ' Beep ' MsgBox "Bitte einen Server angeben" ' Else CurrentServer = Me.SrvList.SelectedItem.Text Me.Caption = "NT Userliste " & CurrentServer SrvList.Visible = False Users.Visible = True LoadAccountList (CurrentServer) ' End If End Sub '---- Ende Formular "frmUserView" alias frmUserView.frm ---- '--------- Anfang Modul "Module1" alias Module1.bas --------- Option Explicit ' Declarationen Public Const NERR_Success As Long = 0& Public Const NERR_Access_Denied As Long = 5& Public Const NERR_MoreData As Long = 234& Public Const SRV_TYPE_SERVER As Long = &H2& Public Const SRV_TYPE_SQLSERVER As Long = &H4& Public Const SRV_TYPE_NT_PDC As Long = &H8& Public Const SRV_TYPE_NT_BDC As Long = &H10& Public Const SRV_TYPE_PRINT As Long = &H200& Public Const SRV_TYPE_NT As Long = &H1000& Public Const SRV_TYPE_ALL As Long = &HFFFF& Public Const SRV_TYPE_RAS As Long = &H400& Public Const SHORT_LEVEL As Long = 10& Public Const EXTENDED_LEVEL As Long = 3& Public Const USER_ACC_NOPWD_CHANGE As Long = 577& Public Const USER_ACC_NOPWD_EXPIRE As Long = 66049 Public Const USER_ACC_DISABLED As Long = 515& Public Const USER_ACC_LOCKED As Long = 529& Private Type SERVER_INFO_API PlatformId As Long ServerName As Long Type As Long VerMajor As Long VerMinor As Long Comment As Long End Type Private Type WKSTA_INFO_API PlatformId As Long ComputerName As Long LanGroup As Long VerMajor As Long VerMinor As Long LanRoot As Long End Type Type ServerInfo PlatformId As Long ServerName As String Type As Long VerMajor As Long VerMinor As Long Comment As String Platform As String ServerType As Integer LanGroup As String LanRoot As String End Type Type ListOfServer Init As Boolean LastErr As Long List() As ServerInfo End Type Private Type USER_INFO_EXT_API Name As Long Password As Long PasswordAge As Long Privilege As Long HomeDir As Long Comment As Long Flags As Long ScriptPath As Long AuthFlags As Long FullName As Long UserComment As Long Parms As Long Workstations As Long LastLogon As Long LastLogoff As Long AcctExpires As Long MaxStorage As Long UnitsPerWeek As Long LogonHours As Long BadPwCount As Long NumLogons As Long LogonServer As Long CountryCode As Long CodePage As Long UserID As Long PrimaryGroupID As Long Profile As Long HomeDirDrive As Long PasswordExpired As Long End Type Type UserInfoExt Name As String Password As String PasswordAge As String Privilege As Long HomeDir As String Comment As String Flags As Long NoChangePwd As Boolean NoExpirePwd As Boolean AccDisabled As Boolean AccLocked As Boolean ScriptPath As String AuthFlags As Long FullName As String UserComment As String Parms As String Workstations As String LastLogon As Date LastLogoff As Date AcctExpires As Date MaxStorage As Long UnitsPerWeek As Long LogonHours(0 To 20) As Byte BadPwCount As Long NumLogons As Long LogonServer As String CountryCode As Long CodePage As Long UserID As Long PrimaryGroupID As Long Profile As String HomeDirDrive As String PasswordExpired As Boolean End Type Type ListOfUserExt Init As Boolean LastErr As Long List() As UserInfoExt End Type Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _ (pTo As Any, uFrom As Any, ByVal lSize As Long) Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As Long Declare Function NetApiBufferFree Lib "netapi32" (ByVal lBuffer As Long) As Long Declare Function NetGetDCName Lib "netapi32" (lpServer As Any, _ lpDomain As Any, vBuffer As Any) As Long Declare Function NetServerEnum Lib "netapi32" _ (lpServer As Any, ByVal lLevel As Long, vBuffer As Any, _ lPreferedMaxLen As Long, lEntriesRead As Long, lTotalEntries As Long, _ ByVal lServerType As Long, ByVal sDomain As String, vResume As Any) As Long Declare Function NetUserEnum Lib "netapi32" _ (lpServer As Any, ByVal Level As Long, _ ByVal Filter As Long, lpBuffer As Long, _ ByVal PrefMaxLen As Long, lpEntriesRead As Long, _ lpTotalEntries As Long, lpResumeHandle As Long) As Long Public CurrentServer As String Public Function EnumServer(lServerType As Long) As ListOfServer Dim nRet As Long, x As Integer, i As Integer Dim lRetCode As Long Dim tServerInfo As SERVER_INFO_API Dim lServerInfo As Long Dim lServerInfoPtr As Long Dim ServerInfo As ServerInfo Dim lPreferedMaxLen As Long Dim lEntriesRead As Long Dim lTotalEntries As Long Dim sDomain As String Dim vResume As Variant Dim yServer() As Byte Dim SrvList As ListOfServer yServer = MakeServerName(ByVal "") lPreferedMaxLen = 65536 nRet = NERR_MoreData Do While (nRet = NERR_MoreData) 'Call NetServerEnum to get a list of Servers nRet = NetServerEnum(yServer(0), 101, lServerInfo, _ lPreferedMaxLen, lEntriesRead, _ lTotalEntries, lServerType, _ sDomain, vResume) If (nRet <> NERR_Success And _ nRet <> NERR_MoreData) Then SrvList.Init = False SrvList.LastErr = nRet NetError nRet Exit Do End If ' NetServerEnum Index is 1 based x = 1 lServerInfoPtr = lServerInfo Do While x <= lTotalEntries CopyMemory tServerInfo, ByVal lServerInfoPtr, Len(tServerInfo) ServerInfo.Comment = PointerToStringW(tServerInfo.Comment) ServerInfo.ServerName = PointerToStringW(tServerInfo.ServerName) ServerInfo.Type = tServerInfo.Type ServerInfo.PlatformId = tServerInfo.PlatformId ServerInfo.VerMajor = tServerInfo.VerMajor ServerInfo.VerMinor = tServerInfo.VerMinor i = i + 1 ReDim Preserve SrvList.List(1 To i) As ServerInfo SrvList.List(i) = ServerInfo x = x + 1 lServerInfoPtr = lServerInfoPtr + Len(tServerInfo) Loop lRetCode = NetApiBufferFree(lServerInfo) SrvList.Init = (x > 1) Loop EnumServer = SrvList End Function Public Function GetPDCName() As String Dim lpBuffer As Long, nRet As Long Dim yServer() As Byte Dim sLocal As String yServer = MakeServerName(ByVal "") nRet = NetGetDCName(yServer(0), yServer(0), lpBuffer) If nRet = 0 Then sLocal = PointerToStringW(lpBuffer) End If If lpBuffer Then Call NetApiBufferFree(lpBuffer) GetPDCName = sLocal End Function ' Function Read User Information - for future development! Public Function LongEnumUsers(Server As String) As ListOfUserExt Dim yServer() As Byte, lRetCode As Long Dim nRead As Long, nTotal As Long Dim nRet As Long, nResume As Long Dim PrefMaxLen As Long Dim i As Long, x As Long Dim lUserInfo As Long Dim lUserInfoPtr As Long Dim UserInfo As UserInfoExt Dim UserList As ListOfUserExt Dim tUserInfo As USER_INFO_EXT_API yServer = MakeServerName(ByVal Server) PrefMaxLen = 65536 nRet = NERR_MoreData Do While (nRet = NERR_MoreData) nRet = NetUserEnum(yServer(0), EXTENDED_LEVEL, 2, _ lUserInfo, PrefMaxLen, nRead, _ nTotal, nResume) If (nRet <> NERR_Success And _ nRet <> NERR_MoreData) Then UserList.Init = False UserList.LastErr = nRet NetError nRet Exit Do End If lUserInfoPtr = lUserInfo x = 1 Do While x <= nRead CopyMemory tUserInfo, ByVal lUserInfoPtr, Len(tUserInfo) UserInfo.Name = PointerToStringW(tUserInfo.Name) UserInfo.Password = PointerToStringW(tUserInfo.Password) UserInfo.PasswordAge = Format(tUserInfo.PasswordAge / 86400, "0.0") UserInfo.Privilege = tUserInfo.Privilege UserInfo.HomeDir = PointerToStringW(tUserInfo.HomeDir) UserInfo.Comment = PointerToStringW(tUserInfo.Comment) UserInfo.Flags = tUserInfo.Flags UserInfo.NoChangePwd = CBool((tUserInfo.Flags Or USER_ACC_NOPWD_CHANGE) = _ tUserInfo.Flags) UserInfo.NoExpirePwd = CBool((tUserInfo.Flags Or USER_ACC_NOPWD_EXPIRE) = _ tUserInfo.Flags) UserInfo.AccDisabled = CBool((tUserInfo.Flags Or USER_ACC_DISABLED) = tUserInfo.Flags) UserInfo.AccLocked = CBool((tUserInfo.Flags Or USER_ACC_LOCKED) = tUserInfo.Flags) UserInfo.ScriptPath = PointerToStringW(tUserInfo.ScriptPath) UserInfo.AuthFlags = tUserInfo.AuthFlags UserInfo.FullName = PointerToStringW(tUserInfo.FullName) UserInfo.UserComment = PointerToStringW(tUserInfo.UserComment) UserInfo.Parms = PointerToStringW(tUserInfo.Parms) UserInfo.Workstations = PointerToStringW(tUserInfo.Workstations) UserInfo.LastLogon = NetTimeToVbTime(tUserInfo.LastLogon) UserInfo.LastLogoff = NetTimeToVbTime(tUserInfo.LastLogoff) If tUserInfo.AcctExpires = -1& Then UserInfo.AcctExpires = NetTimeToVbTime(0) Else UserInfo.AcctExpires = NetTimeToVbTime(tUserInfo.AcctExpires) End If UserInfo.MaxStorage = tUserInfo.MaxStorage UserInfo.UnitsPerWeek = tUserInfo.UnitsPerWeek CopyMemory UserInfo.LogonHours(0), ByVal tUserInfo.LogonHours, 21 UserInfo.BadPwCount = tUserInfo.BadPwCount UserInfo.NumLogons = tUserInfo.NumLogons UserInfo.LogonServer = PointerToStringW(tUserInfo.LogonServer) UserInfo.CountryCode = tUserInfo.CountryCode UserInfo.CodePage = tUserInfo.CodePage UserInfo.UserID = tUserInfo.UserID UserInfo.PrimaryGroupID = tUserInfo.PrimaryGroupID UserInfo.Profile = PointerToStringW(tUserInfo.Profile) UserInfo.HomeDirDrive = PointerToStringW(tUserInfo.HomeDirDrive) UserInfo.PasswordExpired = CBool(tUserInfo.PasswordExpired) i = i + 1 ReDim Preserve UserList.List(1 To i) As UserInfoExt UserList.List(i) = UserInfo x = x + 1 lUserInfoPtr = lUserInfoPtr + Len(tUserInfo) Loop lRetCode = NetApiBufferFree(lUserInfo) UserList.Init = (x > 1) Loop LongEnumUsers = UserList End Function Public Function MakeServerName(ByVal ServerName As String) Dim yServer() As Byte If ServerName <> "" Then If InStr(1, ServerName, "\\") = 0 Then ServerName = "\\" & ServerName End If End If yServer = ServerName & vbNullChar MakeServerName = yServer End Function Public Function NetError(nErr As Long, Optional Ret) As String Dim Msg As String If IsMissing(Ret) Then Ret = False Select Case nErr Case 5 Msg = "Access Denied!" Case 1722 Msg = "Server not accessible!" Case 1326 Msg = " Sie besitzen nicht die Berechtigungen dafür" Case Else Msg = "Error Nr. (" & nErr & ") !" End Select If Not Ret Then Beep MsgBox Msg, vbCritical, "Net Error" Else NetError = Msg End If End Function Public Function NetTimeToVbTime(NetDate As Long) As Double Const BaseDate# = 25569 'DateSerial(1970, 1, 1) Const SecsPerDay# = 86400 Dim Tmp As Double Tmp = BaseDate + (CDbl(NetDate) / SecsPerDay) If Tmp <> BaseDate Then NetTimeToVbTime = Tmp End If End Function Public Function PointerToStringW(lpStringW As Long) As String Dim buffer() As Byte Dim nLen As Long If lpStringW Then nLen = lstrlenW(lpStringW) * 2 If nLen Then ReDim buffer(0 To (nLen - 1)) As Byte CopyMemory buffer(0), ByVal lpStringW, nLen PointerToStringW = buffer End If End If End Function '---------- Ende Modul "Module1" alias Module1.bas ---------- '-------------- Ende Projektdatei Projekt1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | |||||||
VB5 | |||||||
VB6 |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 30 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von raikus am 30.04.2005 um 10:18
Hi,
mit VB6.0 (VisualStudio) und WinXPPro kein Problem, das Prog läuft ohne Modifikationen und Fehlermeldungen...
VG
Kommentar von Coder am 17.10.2004 um 16:24
Ich habe da folgendes Problem: Wenn ich den Code kopiere und das Prog ausführen möchte,
erscheint bei folgendem Code ein Laufzeitfehler 380 (Ungültiger Eigenschaftswert)
xItem.SubItems(1) = ServerList.List(x).Comment
(Auszug Prozedur SeekServer)
ich habe das schon was auskommentiert. Aber der Code scheint ja voller Fehler zu stecken
Habe mindestens 3 weitere Fehler gefunden.
Es gibt jeweils einen Fehler 380 bei folgendem Code
xItem.SubItems(x) = yyy
Weis da einer vielleicht einer weiter??
(Ich nutze VB6 Pro auf XP Pro)
Kommentar von Hans am 03.10.2004 um 22:35
Kann mir mal bitte Sagen, welchen Teil man von diesem riesigem Code braucht, um nur die Computernamen im Netz herauszufinden?
Danke
Gruß Hans
Kommentar von Lee am 07.06.2004 um 12:08
Funktioniert ja sogar noch unter VB4, wenn man vorher mit nem Texteditor kleine Änderungen macht und das Projektfile wegschmeißt und neu erzeugt.
Vorgehensweise:
Aus der FRM-Datei die ersten beiden Zeilen löschen und vbNewLine durch vbCrLf ersetzen. Neues Projekt anlegen und Microsoft Windows Common Controls hinzufügen. Nun die Form und das Modul hinzufügen und den Hinweis, daß die Versionsnummer fehlt, ignorieren.
Kommentar von Thomas Söhne am 30.04.2004 um 10:05
@Patrick
vermutlich fehlt Dir der WSH (Windows Scripting Host)
der die erforderlichen Objekte bereitstellt!
@God'sfriend
naja, mit passwörtern ist dir ja nicht geholfen, oder
meinst du Administratorpasswort?
Aber mal im ernst, wenn Du über das Netzwerk (womöglich noch ohne Kenntnis des Admin-User-Namen und Passwort)
die Userkonten und Passwörter abrufen könntest, wäre das nicht eine Sicherheitslücke?
Dann würden User- und Passwort-Schutz in Netzwerken bei MS ja keinen Sinn machen :).
Trotzdem ist in dem o.g. source unter UserInfoExt evtl.
eine Lösung für deine Frage vorhanden?
Gruß
Thomas
Kommentar von God'sfriend am 29.04.2004 um 17:51
Kann man da au mache, dass man die Passwörter sieht??
wenn ja sagt mir bitte wie
Kommentar von Patrick Hegemann am 21.02.2004 um 19:29
Das Programm geht bei mir nicht. Bei der folgenden Zeile bringt er die Fehlermeldung:
"Laufzeitfehler '429'
Objekterstellung durch ActiveX-Komponente nich möglich."
Hier die Zeile:
Set objWshNet = CreateObject("Wscript.Network")
Kann mir einer weiterhelfen?
mfg
Patrick
Kommentar von Mgalpha am 17.08.2003 um 02:16
giebt doch was besseres als das hier !!!
0046: Alle Netzwerkressourcen erfassen
Kommentar von Christian Hilb am 23.07.2003 um 14:14
Bei mir klappt zwar das Prog. aber es dauert oft ziemlich lange (bis zu 1 min). Mein Prog. hängt sich dann an einer Routine auf. DoEvents tun auch nicht. Kann das an der Netzwerkeinrichtung liegen? (Netzwerkumgebung im Explorer auch sehr langsam)
Hab VB6 auf WinXP Pro. und bin an zwei Hubs mit dem Netz verbunden.
Ich würde mich sehr über irgendwelche Hilfe oder Tipps freuen.
Kommentar von Thomas Söhne am 15.07.2003 um 16:03
Hallo,
und es geht doch ohne Domäne! Denn ich habe keine.
Das Programm zeigt alle Rechner in meiner Arbeitsgruppe an !
Selbstverständlich kann ich mir nur die User meines Rechners ansehen, denn auf den anderen bin ich nicht dazu berechtigt über Remote anzufragen.
Gruß
Thomas
Kommentar von VB Developer from USA am 09.07.2003 um 13:10
I think you guys are communicating in German? Hope you know English, because I don't know German... But I do understand your program. You have a very, very nice utility here. However, I have a question on the LongEnumUsers Function. How do you handle the situation if there are a lot more users, but it's only showing 226 in the listbox. How can I go to next set of users? and the next set? Your response will be deeply appreciated.
Thanks,
VB Developer from USA
Kommentar von Jürg Rutishauser am 02.07.2003 um 07:46
Guten Tag
Bei mir funktioniert dieser Code nicht; Weder eingebunden im Programm, noch das Beispielprojekt. Ich habe herausgefunden, dass "NetServerEnum" den Returncode 2 bekommt. Was bedeutet dieser Returncode?
Auf jeden Fall wird damit ein Fehler angezeigt, nur welcher?
Kommentar von Andy am 23.04.2003 um 17:21
Hi,
starkes Programm! Leider blick ich nicht ganz durch, dafür bin ich zu schlecht! Aber eigentlich such ich auch etwas anderes: Ich möchte ein Programm/Funktion, die alle Pcs im Netzwerk anzeigt, nich die in der Domäne.
Ich benötige es nur für den Hausgebrauch und dort soll es alle Pcs in allen Arbeitsgruppen anzeigen/zurückliefern.
Ich brauche auch keine Infos, die ips reichen.
Hat jemand ne Idee, wie ich daß mache, oder wo ich so etwas finde?
Danke
Kommentar von Bob am 20.04.2003 um 00:16
Das programm läuft leider auch bei mir nicht...
Vielleicht solte man dranschreiben das es nur mit Domänen funzt und nciht mit normalen netzwerken.
Kommentar von Doerfel am 17.02.2003 um 13:52
Hat sofort funktioniert. Dass NT Workstations als Server angezeigt werden, ist zwar nicht ganz korrekt, stoert aber nicht weiter, wenn es bekannt ist. Alles in Allem ein flottes und hilfreiches Tool.
Gruss
Ch. Doerfel
Kommentar von Stefan am 11.12.2002 um 13:40
Ich benutze die verwendeten APIs in einem Programm, das alle 15 Sekunden alle Arbeitsstationen im Netzwerk auflistet. Wenn man sich den TaskManager anschaut, fällt auf, dass Windows den Speicher nicht aufräumt...d.h. bei jedem Aufruf der Funktion NetServerEnum nimmt die Speicherbereichsauslastung in meinem Fall um ca. 1 MB (!!!) zu. Innerhalb von ein paar Minuten kann also der Speicher randvoll sein.
Hat jemand eine Lösung für das Problem???
Kommentar von Ruru am 03.11.2002 um 11:06
Es könnte sein das das Programm unter 98 nicht gut läuft, da ich nicht genau weiss ob ale Funktionen in den DLL's auch auf den Betriebsystemen vorhanden sind, sorry, schau unter microsoft.com nach, da steht es eigentlich.
Das mit den Workstation unter NT das sie als Server angezeigt werden müsste ich mir mal ansehen, und den Maximalen Speicherplatz beschränken - keine Ahnung wie das geht. Ich Verweise noch einmal auf die MSDN von microsoft.com, da kann man sich die aktuellsten und passenden Funktionen aussuchen.
Kommentar von Christian am 31.10.2002 um 12:12
Der Titel ist falsch!
Das Prog zeigt alle Rechner in der Domain des Rechners an, von dem es ausgeführt wird.
mfg Christian
Kommentar von am 22.10.2002 um 20:51
Kommentar von nixus am 01.10.2002 um 17:35
Gibt es eine Möglichkeit festzustellen welcher benutzter gerade Internet ist und auf welcher Seite. !!!
Kommentar von Hans Siegmund am 31.07.2002 um 17:41
Wie kann ich den verfügbaren Speicherplatz eines Users mit "maxstorage" einschränken?
Kommentar von Pate am 16.07.2002 um 12:07
Das Projekt läuft nicht unter Win98! Bzw. bekomme ich die Meldung das mein Pc an keine Domöne angeschlossen ist und ich die Netzverbindung prüfen soll! Ich bin aber definitiv an einer Domäne angemeldet! Auch die Netzwerkverbindung besteht, da ich dieses Projekt auf unserem Server liegen habe und es auch von dort gestartet habe!
Kommentar von Neurieser Franz-Georg am 11.06.2002 um 14:29
An und für sich ein sehr gutes Programm, aber warum werden Workstations unter NT als Server angezeigt ???
Kommentar von Turbo24prg am 24.05.2002 um 20:58
Mir ist der Code zu schwer gibt es denn nicht noch einfachere Beispiele und Codes. Bitte helft mir - dringend!
Kommentar von Ruru am 29.04.2002 um 09:17
Diese Info ist zu dürftig. Leider habe ich kein XP, so das ich nicht die Ursache herausfinden kann. Versuche mal den Unterschied herauszufinden
Kommentar von cromec am 14.04.2002 um 19:41
Bei mir stürtzt das Programm ab. VB 6.0 - Win XP Pro.
Kommentar von Xelion am 12.04.2002 um 11:54
nein bin ich blöd!!!! schion gefunden! ich habe nur nicht gescrollt!
Kommentar von Xelion am 12.04.2002 um 11:53
wo lade ich das denn runter???
Kommentar von Ruru am 08.03.2002 um 13:18
Es sind ziemlich viele Controlls um sie alle aufzuzählen. Auserdem gibt es auch Images in den Imagelisten. Darum empfehle ich das Projekt komplett herunterzuladen.
Ausserdem wird in diesem Projekt noch das Arbeiten mit Treeview mittels Drag Drop demonstriert.
Kommentar von ralph am 02.03.2002 um 15:28
es waere nett, wenn bei den beispielen immer dabeistehen wuerde, welche objekte auf den formularen erwartet werden.
ich habe ein listview mit dem namen "srvlist" erstellt, aber das scheint noch nicht alles zu sein, das das programm jetzt mir der meldung "ungueltiger eigenschaftswert" in zeile 20 ( xItem.SubItems(1) = ServerList.List(x).Comment) abbricht.