FAQ:WinAPI VCPP:получить короткое и длинное имя файла

Материал из Весельчак У
Версия от 19:39, 3 октября 2009; RXL (обсуждение | вклад) (Новая: ===Как получить короткое и длинное имя файла?=== Можно использовать функции API <code cpp> // получить коротки...)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Как получить короткое и длинное имя файла?

Можно использовать функции 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) символам