У меня возникла эта проблема.Мой ShellExecute
работает нормально, вывод - файл изображения в формате PNG.Проблема в том, что этот процесс занимает некоторое время (секунды) для создания файла.Между тем, мой result
здесь уже выполнен, но выдает сообщение об ошибке, поскольку PNG-файл из ShellExecute
еще не существует.Как убедиться, что файл существует в первую очередь, а затем может выполняться result
.
ShellExecute(0,
_T("open"),
_T("c:\\convert.exe"),
full,
0,
SW_HIDE);
result = ExecuteExternalProgramCompare(L"c.png", L"t.png"); // this line always gives error because the file c.png is not produce yet by shellexecute above.
обновление: моя попытка конвертировать в ShellexecuteEx.
SHELLEXECUTEINFO info = {0};
info.cbSize = sizeof(SHELLEXECUTEINFO);
info.fMask = SEE_MASK_NOCLOSEPROCESS;
info.lpFile = _T("c:\\convert.exe");
info.lpParameters = full;
info.nShow = SW_HIDE;