私のプログラムの1つで、rundll32.exe url.dll,FileProtocolHandler c:\path\to\a.fileファイルを開くために使用しています。このファイルを開くことができなかった場合のエラーを処理したいのですが、エラーがあったかどうかを確認する方法がわかりません。それが私のコードです:
QProcess::startDetached( QString( "rundll32.exe url.dll,FileProtocolHandler " + p_target_path ) );
startDetached()rundll32.exeを含むプロセスを開くのに常に成功するため、常にtrueを返すようになりました。では、ファイルが見つかった/開いた可能性があるかどうかをどのように知ることができますか?
テスト用に*.batファイルのerrorlevel-thingsを試しました。
rundll32.exe url.dll,FileProtocolHandler c:\not_existing.exe >nul || echo Could not open file.
しかし、エコーされるものは何もありません。また、%ERRORLEVEL%を読み取ろうとしましたが、ファイルが存在しない場合でも、エラーレベルは0のままです。
誰かがこれに対処する方法を見つける方法を知っていますか?