CreateProcessでアプリケーションエラー
- 先日、こちらでご質問させていただいた者です。環境はWindows2000 Borland C++BuilderXです。
- CreateProcessでmodule2.exeを起動しようとしたとき、module2.exeが立ち上がらない現象が発生したのですが、その際、エラーポップアップが表示されました。
- エラーログを出力するようにしたいのですが、どのようにすればよいでしょうか?ご存知の方がいらっしゃいましたら教えてください。
- ベストアンサー
CreateProcessでアプリケーションエラー
先日、こちらでご質問させていただいた者です。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2211536 環境は Windows2000 Borland C++BuilderXです。 先日と同様に、 CreateProcessでmodule2.exeを起動しようとしたとき、 module2.exeが立ち上がらない現象が発生したのですが、 その際、下のような内容のエラーポップアップが表示されました。 -------------------------------------------------- module2.exe - アプリケーションエラー アプリケーションを正しく初期化できませんでした(0xc0000142)。 [OK]をクリックしてアプリケーションを終了してください。 -------------------------------------------------- 呼び出し元ではCreateProcessの戻り値を取っており、 エラーが返された場合はエラーログを出力する処理を行っているのですが 現象発生時にはエラーログが出ていなかったことから、 CreateProcessからは成功が返されたように見られます。 今回のようなアプリケーションエラー発生時に、呼び出し元でエラーを検知し エラーログを出力するようにしたいのですが、 どのようにすればよいでしょうか? ご存知の方がいらっしゃいましたら教えてください。 よろしくお願いします。
- BCYS
- お礼率73% (14/19)
- C・C++・C#
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
実現方法としては、GetExitCodeProcess APIで状態を取得してみる。 どのような状態をエラーと定義するか、とかSTILL_ACTIVE等の扱いとか、 アプリがエラーをキチンと通知するかとか、 アプリの仕様で決めないといけないことも多いですが。
関連するQ&A
- CreateProcess関数と実行後の戻り値について
VB6からCで作られたEXEを実行した戻り値を取得したいのですが どのように記述すればよいのでしょうか? 制御が戻るまで固まらずに待ち続けるには CreateProcessを使うと良いとは思いますが、 notepadなど一方的に動作させて終了するようなサンプルしかなく、 戻り値を取得するサンプルは見当たりませんでした。 戻り値といってもCのEXEは結果を標準出力で表示されるものですが・・・ 何か良いサンプルはあるでしょうか? CreateProcessを使わない方法でも構いません。 r = CreateProcess( _ cmd, _ param, _ ByVal 0&, _ ByVal 0&, _ 0, _ NORMAL_PRIORITY_CLASS, _ ByVal 0&, _ vbNullString, _ si, _ pi _ )
- ベストアンサー
- Visual Basic
- アプリケーションエラー
アプリケーションエラー エラーが発生したため、webscanx.exeを終了します。プログラム をもう一度開始する必要があります。 エラーログを作成しています。 とでてPCの反応も遅くなりました。どうすれば直りますか?
- 締切済み
- Windows NT・2000
- アプリケーションエラーについて
WIN2000を使用していますが、起動時に「アプリケーションエラー エラーが発生したためWebscan.exeを終了します。プログラムをもう一度開始する必要があります。エラーログを作成しています。」というエラーが発生します。 パソコンを使用していて特に問題は発生していませんが、気になります。 対処方法を教えてください。
- ベストアンサー
- Windows NT・2000
- Wordを使用しているとアプリケーションエラーが・・・
はじめまして、こんにちは。 NECのPCでOSにWindows2000を使用しています。 Wordで文書を作成していて、文書の保存を行おうとすると ”アプリケーションエラー エラーが発生したため、WINWORD.exeを終了します・・・エラーログを作成しています。” などとメッセージが表示され、ファイルが保存されません。 何度も同じ現象が起こってしまいます。 このような現象を解決する方法があるようでしたら、教えてください。
- 締切済み
- オフィス系ソフト
- アプリケーションエラー?
IEを起動するときや何かを起動するときに、 自動補完ドロップダウン:iexplore.exe-アプリケーションエラー 例外 unknown software exception(0xc0000096)がアプリケーションの0x77ed5edfで発生しました。 というエラーがでてしまって強制的にIEなどが閉ざされてしまいます。どの様に対処すればいいでしょうか?お願いします><
- ベストアンサー
- Windows XP
- アプリケーションエラー
IEXPLORE.EXEアプリケーションエラー アプリケーションを正しく初期化できませんでした(0xc0000142)と表示され解除できません。 どこが悪いのかアドバイスをお願いいたします。
- 締切済み
- Windows XP
- アプリケーションエラーが大量に表示される
WIN2000を使用しています。 ネット中突然、「アプリケーションエラー エラーが発生したためSAService.exeを終了します。 プログラムをもう一度開始する必要があります。 エラーログを作成しています。」と表示されました。 その後同じものが次々と発生して下のバーを埋め尽くし続けます。 一旦終了して立ち上げても同じ現象が起こり、 ウィルスチェックしても異常は見当たりませんでした。 初心者で、対処方法がわからず困っています。 どうぞよろしくお願い致します。
- ベストアンサー
- Windows NT・2000
- CGIでCreateProcess
vc++でCGIアプリケーションを作成しています。 今回、画面よりボタンクリックされたら、 CreateProcessで某exeを起動することになりました。 が、そのexeは処理時間がかかるため、終了を待たないで 画面出力をしたいのです。 単純に CreateProcessがうまくいったら、GetExitCodeProcesで「終わったか」を チェックしないで画面を出力しています。 が、画面出力が全部終わりません。 画面(html)はトップから出力し、iframeがあります。 表示の最後(</html>の前)にiframe内に一覧リストを表示させるよう、 JavaScriptでリクエストを行っています。 ログを見るとトップの出力までは書かれています。 その後、CreateProcessで起動したexeが終了すると、 一覧リストは表示されます。 ログも追加されています。 ##例えばexeが5分かかるとすると5分後にログが最後まで書かれています) ##画面も5分後に一覧リストが表示されます。 何故、一覧リストの処理が待たされているのかわかりません。 ソースはこんな感じです。 ↓ iRet = CreateProcess(0, Pbuff(ここにexe名), 0, 0, TRUE, 0, 0, 0, &startUpInfo, &PInfo ); if ( iRet != TRUE ){ CgiError("xxx", "起動できませんでした", "" ) ; return(-1); } //この後画面表示処理 何か設定とか、間違ってますでしょうか? または何か他にしなければならないことがあるでしょうか? アドバイスをお願いいたします! 因みに、CreateProcessで起動するexeは最大2時間程度の処理時間になります。 よろしくお願いします。
- ベストアンサー
- C・C++・C#
- アプリケーションエラー
「エラーが発生したためWinMgmt.exeを終了します プログラムをもう一度開始する必要があります エラーログを作製しています」 というメッセ-ジが15秒おきくらいに出ます 無視するか、OKを押しています。 このアプリケーションを削除してみたら出なくなったのですが、削除したままでいいのか良くないのか。 まったくの素人です。 教えてください
- ベストアンサー
- Windows NT・2000
- アプリケーションエラー
宜しくお願いします。 今、使用中のOSはWin2000です。 IE6やMediaPlayer起動中、以下のアプリケーションエラーが頻発します。 「Svcshot.exeでエラーが発生しました。エラーログを作成します。」 といった物で、このエラー後、メモリー不足になったり、webのページなどでもエラーが発生したり、ペーストができなくなったりします。このエラーが頻発するため、そのたびに再起動なんてことになります。解決策はあるでしょうか? 宜しくお願いします。
- ベストアンサー
- Windows NT・2000
お礼
情報ありがとうございます。 GetExitCodeProcess APIを調べてみます。