powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / как сослаться на системную папку "Program Files"
9 сообщений из 9, страница 1 из 1
как сослаться на системную папку "Program Files"
    #32372151
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... имеется в виду: определить физическое расположение по реестровой ссылке %programfiles%
...
Рейтинг: 0 / 0
как сослаться на системную папку "Program Files"
    #32372164
Фотография Nickolay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть такая приблуда, как Windows Shell, которую стоит иметь ввиду при программировании под виндовс... Посмотри описание функции SHGetSpecialFolderPath мне почему-то кажется, что именно это тебе и нужно...
...
Рейтинг: 0 / 0
как сослаться на системную папку "Program Files"
    #32372166
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если хочешь узнать где расположена папка , то используй функцию SHGetSpecialFolderLocation с параметром "CSIDL_PROGRAM_FILES ".
...
Рейтинг: 0 / 0
как сослаться на системную папку "Program Files"
    #32372177
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, огромное спасибо!
Сейчас попробую.
...
Рейтинг: 0 / 0
как сослаться на системную папку "Program Files"
    #32373080
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то не найду, в каком хедере (BCPPB-5) эта функция.
...
Рейтинг: 0 / 0
как сослаться на системную папку "Program Files"
    #32373252
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
winapi-шная функция.

в Shell32.dll

HRESULT SHGetSpecialFolderLocation(HWND hwndOwner,int nFolder,LPITEMIDLIST *ppidl);

nFolder = CSIDL_PROGRAM_FILES
которая в SHLOBJ.H должна бы быть, вроде как...

Но вот у меня её там не было... :/
...
Рейтинг: 0 / 0
как сослаться на системную папку "Program Files"
    #32377478
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, CEMb, нашел!
Если хочешь (и если этой функции у тебя нет в хедере),
я тебе весь заголовочный перешлю. Мыль.
...
Рейтинг: 0 / 0
как сослаться на системную папку "Program Files"
    #32378061
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, как тока появится надобность в Program_Files - сразу намылю :)
...
Рейтинг: 0 / 0
как сослаться на системную папку "Program Files"
    #32381053
Void!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне кажется здесь удобнее будет ExpandEnvironmentStrings (тоже WinAPI ф-я )

The ExpandEnvironmentStrings function expands environment-variable strings and replaces them with their defined values.

DWORD ExpandEnvironmentStrings(

LPCTSTR lpSrc, // pointer to string with environment variables
LPTSTR lpDst, // pointer to string with expanded environment variables
DWORD nSize // maximum characters in expanded string
);

Parameters

lpSrc

Points to a null-terminated string that might contain references to environment-variable strings of the form:

%variableName%

For each such reference, the %variableName% portion is replaced with the current value of that environment variable.
The replacement rules are the same as those used by the command interpreter. Case is ignored when looking up the environment-variable name. If the name is not found, the %variableName% portion is left undisturbed.

lpDst

Points to a buffer to receive a copy of the source buffer, after all environment-variable name substitutions have been performed.

nSize

Specifies the maximum number of characters that can be stored in the buffer pointed to by the lpDst parameter, including the terminating null character.

Return Values

If the function succeeds, the return value is the number of characters stored in the destination buffer. If the number of characters is greater than the size of the destination buffer, the return value is the size of the buffer required to hold the expanded strings.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / как сослаться на системную папку "Program Files"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]