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) символам