У меня есть процесс под ключом Run в реестре. Он пытается получить доступ к переменной среды, которую я определил в предыдущем сеансе. Я использую ExpandEnvironmentStrings для расширения переменной в пути. Переменная среды - это переменная профиля пользователя. Когда я запускаю свой процесс в командной строке, он также не расширяется. Если я назову 'set', я вижу переменную.ExpandEnvironmentStrings Нерасширение моих переменных
Некоторый код ...
CString strPath = "\\\\server\\%share%"
TCHAR cOutputPath[32000];
DWORD result = ExpandEnvironmentStrings((LPSTR)&strPath, (LPSTR)&cOutputPath, _tcslen(strPath) + 1);
if (!result)
{
int lastError = GetLastError();
pLog->Log(_T("Failed to expand environment strings. GetLastError=%d"),1, lastError);
}
При отладке выходного пути точно так же, как и путь. Код ошибки не возвращается.
Что происходит?
Я предполагаю, что 'strPath == Path' и 'cOutputPath == OutputPath', но небольшая санитария поможет. –
Пожалуйста, введите действующий код. Вы определяете переменные 'strPath' и' cOutputPath', а затем используете переменные 'Path' и' OutputPath'. –