Moin Benjamin,
der Code kommt mir so bekannt vor
Ich weiss, dass ich da irgendwo einen Schnitzer drin hatte.
Probier's mal mit
Delphi-Quellcode:
ZeroMemory(@FNI,SizeOf(FNI));
CopyMemory(@FNI,pWork,dwRead);
sResult := trim(WideCharLenToString(@FNI.wFilename[1],FNI.dwFileNameLength));
PChar(pWork) := PChar(pWork)+FNI.dwNextEntryOffset;
im repeat/until, natürlich um das was Du brauchst ergänzt.
Wo der Thread in der Endlosschleife hängenbleibt kannst Du übrigens wohl recht schnell ermitteln, wenn Du es mal im Einzelschritt durchgehst. Ausserdem kannst Du auch einfach mal ein oder mehrere OutputDebugString, dann kannst Du Dir den Ablauf anschliessend noch einmal anschauen. (View\Debug Windows\Event Log)