Problem beim finden von Ordnern
-
Hallo,
ich habe in der WinAPI-FAQ folgenden Beitrag gefunden und
angewandt, da ich nach Ordnern & Dateien im Netzwerk suchen
möchte:HANDLE fHandle; WIN32_FIND_DATA wfd; fHandle=FindFirstFile("\\\\192.168.9.121\\*",&wfd); // Ergebnis Nummer 2 ist auch uninteressant (ist ".."): FindNextFile(fHandle,&wfd); while (FindNextFile(fHandle,&wfd)) { if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { //hier finde ich die Unterverzeichnisse, aber eben nicht das erste ! } else { MessageBox(0,wfd.cFileName,"Folgende Datei gefunden:",0); } } FindClose(fHandle);Es klappt alles super, aber leider nur, wenn bereits im Hauptverzeichnis
eine Datei vorhanden ist. Wenn ich auf \\192.168.9.121\* suche findet er
nichts, weil es dort nur den Ordner "Test" gibt. Erstelle ich noch eine
"hallo.txt" dazu läuft es wieder.Wie kann ich auch Ordner finden, wenn diese in erster Instanz vorhanden
sind ?
-
Evtl liegt das hier dran
// Ergebnis Nummer 2 ist auch uninteressant (ist ".."): FindNextFile(fHandle,&wfd);Bin mir nicht sicher, könnte mir aber gut vorstellen, dass es im Stammverzeichnis kein .. gibt

-
Hi flenders, du machst ja am Morgen schon einen
richtigen Rundumschlag im Forum,
super.Das mit der o.g. Zeile habe ich auch schon probiert, mein
Programm zeigt mir aber leider dann doch genau dieses
".." in meiner ListBox an
Es klappt irgendwie immer nur wenn eine Datei im gleichen
Verzeichnis gefunden werden kann.
-
Und direkt der erste Eintrag (also von FindFirstFile) ist es wohl auch nicht - komisch

-
Habe jetzt so ziemlich alle Möglichkeiten ausprobiert und
bin auch keinen Schritt weiter gekommen
Der will den ersten/alleinigen Ordner einfach nicht finden
mit Wildcards !
-
Es giebt kein Ersten Allgemeinen Ordner in einem Netzwerk, oder kannst
du einen ganzen Rechner Freigeben?Wenn du zu einem anderen Rechner ??"servst"??, erwartet Windows eine StartDatei, ala index.xxx bei FindXXXFile auch xxx.xxx, also egal Hauptsache
eine Datei (*Wildcard), wenn auf dem anderen Rechner ein Server läuft mit "DirectoryListing=on" kann das auch so Funktionieren wie du es hast.Prüfe vorher auf Freigabe und Spreche diese Ordner dann nach einander an!
-
Hi,
also das soll so ablaufen, dass ich mir eine IP abhole
die mir mitgeteilt wird. Auf diese IP scanne ich dann,
ob sie noch existiert und ob der Port 139 zugänglich ist.
Wenn ja, muss ich die sich ständig ändernde Ordnerstruktur
auslesen. Mal ist dort der Ordner "Alle", dann einige Tage
später heißt er aber ggf. "public".
Und wenn ich dich jetzt richtig verstanden habe, muss ich also
doch schon genau wissen, wie der erste Ordner nun heißt ?Aber wie mache ich das ? Mir fällt spontan nur ein:
"net view \\ipadresse >info.txt" und dann aus der info.txt
zu parsen und zu checken ob dort "Platte" aufgelistet ist, was
für einen Ordner sprechen würde. Oder gehts einfacher ?
-
NetShareEnum könnte dir evtl. helfen
