Использование Win32 API>
Для папки Windows:
TCHAR windir[MAX_PATH];
GetWindowsDirectory(windir, MAX_PATH);
Для программных файлов:
TCHAR pf[MAX_PATH];
SHGetSpecialFolderPath(
0,
pf,
CSIDL_PROGRAM_FILES,
FALSE );
Где MAX_PATH
берется из заголовков Windows и гарантирует, что буфер будет достаточно длинным для самого длинного ( не-UNC) путь.
Также обратите внимание, что SHGetSpecialFolderPath
можно использовать для получения другой «специальной» папки, включая папку Windows, просто заменив третий параметр на любой из этого списка .
GetWindowsDirectory
: http://msdn.microsoft.com/en-us/library/ms724454 (VS.85) .aspx SHGetSpecialFolderPath
: http://msdn.microsoft.com/en-us/library/bb762204 (VS.85) .aspx Большинство из них поступает из SHGetFolderPath, но GetSystemDirectory () возвращает абсолютное расположение C: \ Windows \ System32. Не используйте GetWindowsDirectory (). Он больше не делает того, что вы хотите.