を呼び出すプロセスがありますCreateProcess
。CreateProcess
成功を示すゼロ以外を返すようです。ただし、プロセスへの HANDLE はすぐに設定され、プロセスが終了したことを示します。を呼び出すとGetExitCodeProcess
、STATUS_DLL_NOT_FOUND
が返されます。
DLL が見つからないことを理解しています。私はどれが正確かさえ知っています。しかし、私が理解していないのは、プログラムでそれを理解する方法です。
指定された DLL が見つからなかったため、プロセスの開始に失敗したというダイアログが Windows によって表示されることに気付きました (スクリーンショット: http://www.mediafire.com/view/?kd9ddq0e2dlvlb9 )。ダイアログで、Windows は不足している DLL を指定します。ただし、その情報をプログラムで自分で取得する方法はありません。
プロセスの開始に失敗して が返される場合STATUS_DLL_NOT_FOUND
、ターゲット プロセスがリンクされていて見つからなかったライブラリ名をプログラムで取得するにはどうすればよいですか? そうすれば、特定のインストールで欠落または破損していると思われる DLL をエラー レポートに自動的に記録できます。