У меня возникла эта проблема. Мой 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;
Как преобразовать мои параметры в shellexecute к этому? Кажется, у вас есть другая структура для передачи значений? – karikari