Hvorfor finder Windows punktummer?

Tags:    c++

Hej allesammen!
Jeg har lavet en kode som skal liste filer i en mappe i en listbox.
Fold kodeboks ind/udKode 


Den udskriver (og tilføjer i min lisbox) dette:
.
.
..

Hvorfor?



Windows har pga. en fejl i nogle af de nederste lag i grafikdriveren et overskud af punktummer, for at få balance i systemet er den nødt til at slippe af med alle disse overflødige punktummer, ellers ville de optræde som pixelfejl på din skærm. Én af måderne windows kan slippe af med punktummerne er via FindFirstFile og FIndNextFile.

Eller, . er et alias for den nuværende mappe, .. er et alias for mappen et niveau op.

Du har en mindre fejl i din kode som gør at du får . to gange. Du vil (normalt) ikke få .. i den roden af drevet.



Man jeg kan ikke se felen.. Hvor er den?P Skal jeg vise resten af koden?



Du har to gange "SendDlgItemMessage" lige efter hinanden, så det første mappe navn bliver puttet i listen to gange. Hvis du sletter den første (den inden do{) vil du kun få det første mappenavn én gang. Det første mappenavn er "tilfældigvis" '.'



Ok tak!
Ville der være nogen fordel i at bruge LB_ADDFILE istedet for LB_ADDSTRING



Om LB_ADDFILE skriver msdn: "The list box to which lParam is added must have been filled by the DlgDirList function."

Så svaret er nok at det ikke er bedre at bruge LB_ADDFILE.



Ville det så egentkig ikke være lettere at lave det med en DlgDirList??



Hvis du kan bruge DlgDirList, dvs. den gør det du vil have den til, er det fint at bruge den.



Oka super!



t