タイトル | : 外部アプリケーションによる終了方法 |
記事No | : 9269 |
投稿日 | : 2009/08/21(Fri) 12:42 |
投稿者 | : ネヴュラ |
起動中のアプリケーション(仮にprogramA.exeとします)を 外部のアプリケーション(仮にprogramB.exeとします)で終了するように 下記のようにプログラムを作成しました。
------ programB.exeの内容 ------
'コンピュータ上で実行されている"programA"という名前のすべてのプロセスを取得 Dim prcs As Process() = Process.GetProcessesByName("programA")
'配列から1つずつ取り出す For Each prc As Process In prcs
If Not prc.CloseMainWindow() Then ' 終了できなかった場合は強制終了
prc.Kill() End If
Next
-------------------------
しかし、上記の方法ではprcTemp.CloseMainWindowの結果は必ずfalseとなってしまうみたいで 毎回必ずif文の中を通ってprc.Kill()が実行されます。
prc.Kill()でもprogramAは終了されるのですが、prc.Kill()でプログラムを終了した場合、 タスクトレイにprogramAのアイコンが残ってしまいます。
そのため、Killのような強制終了ではなく、 外部アプリケーションからでも正しく終了できるような方法を探しているのですが 何か良い方法はございませんでしょうか?
|