• ベストアンサー

プロセスがタスクマネージャーに残るのは、なぜ?

vbのプログラムから、GetExitCodeProcessとDo Whileを使用し外部プログラム(メモ帳など)の実行、監視しています。何かの表示しに、外部プログラムが終了しているにもかかわらず終了コードが取れないことがあり、タスクマネージャーを見ると、プロセスが残っている状態です。 なぜ、終了コードが取れずに、プロセスが残るのでしょうか? 何か参考があればよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

>GetExitCodeProcessとDo Whileの組み合わせが影響があるかと思っているのですが、 >やはり呼び出しているプログラムに原因があるのでしょうか? GetExitCodeProcessとDo Whileの組み合わせというか、それ以外の個所かと。その前後にプロセスハンドルをいじるような処理があるんですよね?おそらく。 そういうことを全部吹っ飛ばして「GetExitCodeProcessとDo While」という情報しかだせないのでしたら何もわかりません。 メモ帳等でも発生するのでしたら、監視するアプリを起動するところからすべて疑ってください。

vb_kozou
質問者

お礼

ありがとうございました。 とりあえず、プロセスハンドル関連での処理を見直してます。

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

>なぜ、終了コードが取れずに、プロセスが残るのでしょうか? 逆では? プロセスが終了してないから終了コードが取れないんでしょ? 何でプロセスが終了してないかは千差万別ですからねぇ。

vb_kozou
質問者

補足

単独でプログラムを呼び出して、同じ作業を行った場合には、プロセスが残る事はないようですので GetExitCodeProcessとDo Whileの組み合わせが影響があるかと思っているのですが、やはり呼び出しているプログラムに原因があるのでしょうか?