表題の件で教えていただきたいのですが、
環境は、WinXPSP1、VB6.0SP6です。
現在作成中のプログラムから、既存の別アプリケーションをShellで起動し、
起動したアプリケーションが、ファイルを読みに行くのですが、
存在しないファイルが指定されていた場合、
エラーメッセージを出し、タスクバーから消えしまうのですが、
プロセスは残ったままになってしまいます。
エラーの場合のみプロセスを消したいのですが、そんな事できますでしょうか?
既存アプリケーションのバグな気がしなくもないのですが。。。
何か方法があれば、教えていただきたいです。
TerminateProcessでプロセスを終了させることができますが、下記URLにもあるように最終手段で、2次的な弊害を誘発するかもしれません。
http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_terminateprocess.htm
それよりShellで起動する前にそのファイルが存在するかどうかを調べてやったらどうですか?
>エラーの場合のみプロセスを消したいのですが
そのプロセスが残るアプリケーションですが、
終了ステータスを吐いている可能性がありますので、
一度、終了ステータスを取得してみてはいかがでしょうか?
DOSで言うと、ERROR LEVEL になるのかな?
ツイート | ![]() |