Ermitteln Sie den vollständigen Pfad mit dem Unicode-Dateinamen
Ich habe einen Pfad in Kurzversion oder im DOS-Format (C: / DOKUMENT ~ 1 z. B.) und möchten den vollständigen Pfad / langen Pfad davon erhalten ("C: / Dokumente und Einstellungen" z.B).
Ich habe versucht, GetLongPathName api. Es funktionierte. Beim Umgang mit Unicode-Dateinamen kommt es jedoch zu einem Fehler.
Private Declare Function GetLongPathName Lib "kernel32" Alias _
"GetLongPathNameA" (ByVal lpszShortPath As String, _
ByVal lpszLongPath As String, ByVal cchBuffer As Long) As Long
Ich habe versucht, stattdessen den Alias "GetLongPathNameW" zu verwenden, aber es scheint, als würde nichts dagegen unternommen. Für Unicode- und Nicht-Unicode-Dateinamen wird immer 0 zurückgegeben. Darf ich etwas falsch machen?
Gibt es eine Lösung für diesen Fall? Ich verbringe Stunden mit Google und StackOverflow, kann es aber nicht herausfinden.
Grüße,