2016-05-16 22 views
1

今のところ、私はInno Setupインストーラのログインを改善しています。消費者が何らかのエラーを受けた場合、何がうまくいかなかったのか分かります。WbemObject.Terminateの失敗理由

インストール処理の1つとして、実行中のアプリケーションプロセスを強制終了して、ファイルを正常に上書きします。アプリケーションを終了するには、質問Inno Setup Kill a running processに記載されているアプローチを使用します。WbemObjectを取得し、WbemObject.Terminateを呼び出します。

今のところ、Terminateが成功した場合、私は追跡したいと思います。私のテストから、実際にアプリケーションが正常終了したかどうかを示すブール値を返すことがわかりました。しかし、失敗した場合は単に「false」を返します。そして私はより詳細な理由を知りたい。

WbemObject.Terminateの実際の失敗の理由を取得する方法はありますか?

答えて

1

あなたが持っているものはWbemObjectではなく、Win32_Process objectです。

Win32_Process.Terminate method

はない Boolean、(パスカルで Cardinaluint32を返さない:

は、プロセスが正常終了した場合は0(ゼロ)の値は、エラーを示すために任意の他の数を返します。その他のエラーコードについては、WMI Error ConstantsまたはWbemErrorEnumを参照してください。一般的なHRESULTの値については、System Error Codesを参照してください。

正常終了(0)
アクセスが拒否され(2)
不足特権(3)
不明故障(8)が見出さ
パスない(9)
無効なパラメータ(21)
その他(22-4294967295)

関連する問題