Как Получить Путь Системной папки (C:\Windows C:\Program Файлы) в Windows с помощью C++? [закрытый]

10
задан sxingfeng 22 March 2010 в 01:58
поделиться

4 ответа

Использование 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, просто заменив третий параметр на любой из этого списка .

22
ответ дан 3 December 2019 в 14:10
поделиться

Позвоните по телефону getenv ("% ProgramFiles%") и getenv ("% WinDir%")

0
ответ дан 3 December 2019 в 14:10
поделиться

Большинство из них поступает из SHGetFolderPath, но GetSystemDirectory () возвращает абсолютное расположение C: \ Windows \ System32. Не используйте GetWindowsDirectory (). Он больше не делает того, что вы хотите.

1
ответ дан 3 December 2019 в 14:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: