Скажем, я хочу, чтобы программа «C: \ MyProgram.exe» запускалась с параметрами, которые являются двумя переменными. Возникающая проблема заключается в том, что MyProgram получает только 2 параметра, хотя я четко передаю 3 параметра.Почему параметры ShellExecuteEx() не работают?
Мой код:
SHELLEXECUTEINFO ShExecInfo = { 0 };
CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE);
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = NULL;
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_SHOW;
ShExecInfo.hInstApp = NULL;
ShExecInfo.lpFile = T("\"C:\\MyProgram.exe\"");
ShExecInfo.lpParameters = _T("\"\"") _T(" ") + dir + file[i] + _T(" ") + dir + outputfile + _T(".TIFF");
ShellExecuteEx(&ShExecInfo);
WaitForSingleObject(ShExecInfo.hProcess, 1500);
if(GetExitCodeProcess(ShExecInfo.hProcess, &exitCode)){
MessageBox(_T("Conversion ") + file[i] + _T(" unsuccesful."), _T("TEST!"), MB_OK);
succes = 0;
}
Потому что там не так много информации в Интернете по переменным параметрам с ShellExecuteEx, я не мог найти правильное объяснение этому.
Возможно, кто-нибудь из вас знает, как решить эту проблему? Спасибо заранее!
Спасибо, это сработало для меня. Что делает ключевое слово «auto» точно? Определяет ли он тип данных для меня? – moffeltje
Да. http://www.codeproject.com/Articles/570638/Ten-Cplusplus-Features-Every-Cplusplus-Developer – xMRi