В одной из моих программ я использую rundll32.exe url.dll,FileProtocolHandler c:\path\to\a.file
для открытия файлов. Я хотел бы обработать ошибки в случае, если этот файл не может быть открыт, но я не могу понять, как узнать, была ли ошибка или нет.
Это мой код:
QProcess::startDetached( QString( "rundll32.exe url.dll,FileProtocolHandler " + p_target_path ) );
startDetached()
теперь всегда возвращает true, потому что всегда успешно открыть процесс, содержащий rundll32.exe. Итак, как я могу узнать, может ли мой файл быть найден / открыт или нет?
Я пробовал вещи уровня ошибки в * .bat файле для тестирования.
rundll32.exe url.dll,FileProtocolHandler c:\not_existing.exe >nul || echo Could not open file.
Но ничего не повторяется. Я также пытался прочитать% ERRORLEVEL%, но даже если файл не существует, уровень ошибки остается 0.
Кто-нибудь знает способ выяснить, как с этим бороться?