ShellExecute(NULL, _T("open"), _T("%ProgramFiles%\\MyProg\\My.exe"),
strParam, NULL, NULL);
ShellExecute. Запуск приложений c указанием %пути%
используя переменную окружения %ProgramFiles%.
Код:
такой вариант тоже не проходит:
Код:
ShellExecute(NULL, _T("open"), _T("\"%ProgramFiles%\\MyProg\\My.exe\""),
strParam, NULL, NULL);
strParam, NULL, NULL);
используя переменную окружения %ProgramFiles%.
Код:
ShellExecute(NULL, _T("open"), _T("%ProgramFiles%\\MyProg\\My.exe"),
strParam, NULL, NULL);
strParam, NULL, NULL);
такой вариант тоже не проходит:
Код:
ShellExecute(NULL, _T("open"), _T("\"%ProgramFiles%\\MyProg\\My.exe\""),
strParam, NULL, NULL);
strParam, NULL, NULL);
Может имеет смысл получить значение переменной среды "ProgramFiles", потом добавить к этой строке имя файла, и только потом передать эту строку третим параметров в функцию ShellExecute.
Не уверен что можно использовать запись вида "%ProgramFiles%" в этой функции.
Код:
TCHAR buffer[MAX_PATH] = _T("");
GetEnvironmentVariable("%ProgramFiles%",buffer,MAX_PATH);
PathAddBackslash(buffer)
StrCat(buffer,_T("MyProg\\My.exe));
ShellExecute(NULL, _T("open"), buffer, strParam, NULL, NULL);
GetEnvironmentVariable("%ProgramFiles%",buffer,MAX_PATH);
PathAddBackslash(buffer)
StrCat(buffer,_T("MyProg\\My.exe));
ShellExecute(NULL, _T("open"), buffer, strParam, NULL, NULL);
Код:
if(SUCCEEDED(SHGetFolderPath(NULL, CSIDL_PROGRAM_FILES, NULL, 0, szPath)))
{
// путь получен
}
{
// путь получен
}