Im Prinzip ja ... oder eben
sDateiname := '\\?\' + sDateiname
PS: Wenn du nur Lesend auf Dateien zugreifen mußt oder wenn der Dateiname noch Kurz und nur der gesamte Pfad zu lang ist, dann kannst du auch die alten Kurznamen verwenden, welche oftmals noch vorhanden sind.
Code:
C:\Meine Programme\ein gaaaaaaaaaaaaaaaaaaaaaaaaaaanz lange Pfad\die liebe Datei.txt
C:\MEINEP~1\EINGAA~7\die liebe Datei.txt
C:\MEINEP~1\EINGAA~7\DIELIE~8.TXT
@shmia: war mir nicht ganz sicher, darum hatte ich nochmal schnell nachgesehn ... Wiki meinte Folgendes und ich dachte mir so der Punkt war passender
Zitat:
Das Format für lokale Pfade unter Windows, also Daten, die auf dem verwendeten Rechner selbst vorhanden sind, ist:
\\?\C:\Daten oder \\.\C:\Daten
Das mit dem
\\.\
,
\\?\
,
\??\
oder ... ist halt nicht so einfach
PS: 64 KB = 32k
Unicode-Zeichen