タイトル | : 外部アプリケーションの終了 |
記事No | : 13636 |
投稿日 | : 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が一致した場合は、私が作ったプログラムを終了させると間違ったアプリケーションを終了させることになります。ここでご意見をお聞きしたいのですが、ここまで考えなくていいのでしょうか、よろしくお願いします。
|