FAQ:WinAPI VCPP:получить короткое и длинное имя файла
Материал из Весельчак У
Как получить короткое и длинное имя файла?
Можно использовать функции API
// получить короткий путь
GetShortPathName(
LPCSTR lpszLongPath,
LPSTR lpszShortPath,
DWORD cchBuffer);
и
// получить полный путь
GetLongPathName(
LPCSTR lpszShortPath,
LPSTR lpszLongPath,
DWORD cchBuffer);
Например имеется путь к файлу:
D:\program files\Microsoft Office\OFFICE11\winword.exe
Функция GetShortPathName() поможет привести его к виду:
d:\PROGRA~1\MICROS~2\OFFICE11\WINWORD.EXE
А функция GetLongPathName() - наоборот.
Максимальная длина пути файла равна MAX_PATH (260) символам