タイトル : 外部アプリケーションの終了 投稿日 : 2009/05/01(Fri) 14:25 投稿者 : ganchan
OS:Windows2000 Ver:6.0 よろしくお願いします。 現在Form上にListViewを貼り付け、ListView内にファイル名とそのファイルのアイコンを表示し (エクスプローラみたいなもの)アイコンをダブルクリックしたらShell関数でアイコンのファイル を起動するプログラムを作りました。Shell関数から取得したProcessIDとファイル名を基に、 Form_UnLoad時にShell関数で起動したファイルが放置の確認をEnumWindowsを使って、先に取得したProcessIDと現在起動中の外部アプリケーションのProcessIDと突合せ、WindowsHandleが取得できれば何もしない。取得できれば放置状態としてOpenProcess、GetExitCodeProcess、TerminateProcess、CloseHandleを使って終了させています。ProcessIDは起動中のアプリケーションではユニークなのですが、操作を行っている人が終了させた場合に、その後他のアプリケーションを立ち上げ、終了させたアプリケーションのProseccIDとその後立ち上げたアプリケーションの PocessIDが一致した場合は、私が作ったプログラムを終了させると間違ったアプリケーションを終了させることになります。ここでご意見をお聞きしたいのですが、ここまで考えなくていいのでしょうか、よろしくお願いします。 |