Leider lautet die Antwort " hängt vom Programm ab ". Es liegt an den Leuten, die die Programme schreiben, um zu bestimmen, welche Methode sie verwenden möchten. (Schamloser Plug) Ich habe vor einigen Wochen einen Blogeintrag geschrieben, in dem das Problem beschrieben wirdDer Explorer ist weiterhin auf MAX_PATH beschränkt.
Je nachdem, was Sie versuchen, können Sie ein anderes Programm verwenden, um die langen Pfade wie Microsoft Word zu verwalten. Ansonsten besteht die einzige andere Möglichkeit darin, einfach "damit zu leben", da es schon immer so ist und sich nicht bald ändert.
Ich denke nur, dass ich auch erwähne, dass 64-Bit-Windows auch die "Win32" -API verwendet und CreateFileA
sowohl für 32-Bit- als auch für 64-Bit-Programme das Problem hat.
EDIT: Geeky Details
Das Problem besteht nur in der CreateFileA
Funktion und der CreateFileW
Funktion, wenn ein absoluter Pfad mit einem Laufwerksbuchstaben verwendet wird. Die einzige Methode, um es zu umgehen (im Code) ist die Verwendung der \\?\C:\Path\To\File.txt
Syntax ... also haben auch Programme, die CreateFileW
einen Pfad verwenden C:\Path\To\File.txt
, das Problem. Es ist schwer zu beschreiben, aber es ist unnötig zu erwähnen, dass der Hauptgrund dafür, dass Programme die \\?\
Syntax nicht intern unterstützen, darin besteht, dass sie die Fähigkeit verlieren, relative Pfade (Pfade wie ..\Documents\file.doc
) zu verwenden.