DrScherzkeks Geschrieben 10. Oktober 2001 Geschrieben 10. Oktober 2001 Ich habe ein problem mit Delphi auf allgemeine Netzwerksachen zu zugreifen z.B. wie bekomme ich alle Benutzer herraus die im Netz sind , wie kann ich auf ihre rechner zu greifen etc... wäre schön wenn mir einer helfen könnte :confused: Zitieren
lpd Geschrieben 10. Oktober 2001 Geschrieben 10. Oktober 2001 Etwas genauer, bitte. <FONT COLOR="#a62a2a" SIZE="1">[ 10. Oktober 2001 12:27: Beitrag 1 mal editiert, zuletzt von littlepunkdog ]</font> Zitieren
DrScherzkeks Geschrieben 10. Oktober 2001 Autor Geschrieben 10. Oktober 2001 na ich benötige für ein programm eine liste aller die sich im Netzwerk befinden es ist eigentlich egal ob das nun die IP oder der Name der Personen ist ... ich habe allerdings keine ahnung wie ich das eine noch das andere hin bekomme .. eine Funktion die einen Ping simuliert wäre nicht schlecht ... Zitieren
doublezero Geschrieben 11. Oktober 2001 Geschrieben 11. Oktober 2001 Wenn du Netzwerk"arbeit" erledigen willst, kommst du eigentlich nicht an den INDY-Komponenten vorbei. Und um rauszubekommen, welche IP's "aktiv" sind, versuche doch einfach, alle IP's in deinem Subnetz auf einem öffentlichen Port (21, 23, 80) zu connecten. greetings, DZ Zitieren
Staplerfahrer Klaus Geschrieben 16. Oktober 2001 Geschrieben 16. Oktober 2001 Moinsen! Hier ist mal ein Tip, wie du die Benutzer einer NT-Domain heraus kriegst <<click>> Und das hier <<click>> kannst du benutzen, um einen Computer von der Netzwerkumgebung auszuwählen! Ansonsten schau dir die anderen Seiten dort mal an, da findest du bestimmt das Passende! Bis denn dann! Zitieren
BenBE Geschrieben 20. Oktober 2001 Geschrieben 20. Oktober 2001 Also die Computernamen kriegt man ganz einfach raus: Schreib einfacdh ne Funktion, die Die folgenden Funktionen verwendet: WNetOpenEnum, WNetCloseEnum und WNetEnumResource. Ist allerdings ein riesiger Aufwand: ich post mal den Quelltext zur ermittlung aller Rechnernamen in allen Domains: Function GetComputerNames: TStringList; Var neh1, neh2, neh3: Cardinal; Count: Cardinal; x, y, z: Integer; net1, net2, net3: PNetResource; tmpnet1, tmpnet2, tmpnet3: PNetResource; netsize1, netsize2, netsize3: Cardinal; Begin Result := TStringList.Create; Try WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK, 0, Nil, neh1); Try Count := $FFFFFFFF; NetSize1 := $FFFF; GetMem(Net1, NetSize1); Try While WNetEnumResource(neh1, Count, net1, netsize1) <> ERROR_NO_MORE_ITEMS Do Begin tmpnet1 := net1; If Count = 0 Then Break; For X := 0 To Count - 1 Do Begin WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK, 0, tmpnet1, neh2); Try Count := $FFFFFFFF; NetSize2 := $FFFF; GetMem(Net2, NetSize2); Try While WNetEnumResource(neh2, Count, net2, netsize2) <> ERROR_NO_MORE_ITEMS Do Begin tmpnet2 := net2; If Count = 0 Then Break; For Y := 0 To Count - 1 Do Begin WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK, 0, tmpnet2, neh3); Try Count := $FFFFFFFF; NetSize3 := $FFFF; GetMem(Net3, NetSize3); Try While WNetEnumResource(neh3, Count, net3, netsize3) <> ERROR_NO_MORE_ITEMS Do Begin tmpnet3 := net3; If Count = 0 Then Break; For Z := 0 To Count - 1 Do Begin Result.Add(String(tmpnet3^.lpRemoteName)); Inc(tmpnet3); End; End; Finally FreeMem(Net3); End; Finally WNetCloseEnum(neh3); End; Inc(tmpnet2); End; End; Finally FreeMem(Net2); End; Finally WNetCloseEnum(neh2); End; Inc(tmpnet1); End; End; Finally FreeMem(Net1); End; Finally WNetCloseEnum(neh1); End; Except On E: Exception Do Begin MessageDlg(E.ClassName + ': ' + E.Message, mtError, [mbOK], 0); Result.Free; Result := Nil; End; Rnd; End; Auf der Nächsten Verschachtelungsebene wrde dir das Programm dann alle Freigabenamen aller Rechner in Allen Domains von Allen Netzwerken zurückgeben ... Weitere Hilfe gibts bei den Funktionen die mit WNet anfangen in der Win32.hlp (Microsoft Programmer's Guide) ... dem wohl unbeliebtesten Schriftstück der Delphidoku??? Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.