プロセスツリーの終了を実装する方法は? – プログラミング – Home

プロセスツリーの終了を実装する方法は?
 
通知
すべてクリア

プロセスツリーの終了を実装する方法は?


ナオーバ
 ナオーバ
(@ナオーバ)
ゲスト
結合: 23年前
投稿: 187
Topic starter  

現在あるソフトを作成しています。このソフトは複数のEXEを起動します。
なのでデバッグ実行するたびに複数のEXEが起動します。
これらの複数のEXEを終了する為にタスクマネージャにある
プロセスツリーの終了 をしています。

これを簡単に実行できるようにしたいのですが、
親プロセスは終了できましたが子プロセスも一緒に終了させる方法がわかりません。

親プロセスの終了は
1.ウィンドウハンドルの取得 FindWindow
2.プロセスIDの取得 GetWindowThreadProcessId
3.プロセスハンドルの取得 OpenProcess
4.終了ステータスの取得 GetExitCodeProcess
5.プロセスの終了 TerminateProcess
で行っています

環境
VC++6.0 SP5/WIN2000 SP3/MFC 使用

何か情報ないでしょうか?
宜しくお願い致すます


引用解決済
トピックタグ
ボコノン教徒
 ボコノン教徒
(@ボコノン教徒)
ゲスト
結合: 23年前
投稿: 90
 

 Win32 でアプリケーションを列挙する方法
 Microsoft 文書番号: JP175030

をみると、Win95では親プロセスがわかるらしいが、NT系では
どうするんだろうか。未確認だけど、以下参照

http://www.experts-
exchange.com/Programming/Programming_Platforms/Win_Prog/Q_20249810.html

http://www.codeguru.com/win32/ntparent.shtml


返信引用
三毛猫
 三毛猫
(@三毛猫)
ゲスト
結合: 22年前
投稿: 7
 

NT4.0 以外は CreateToolhelp32Snapshot,Process32First,Process32Next が
使えるようですので、これで子プロセスを列挙して全部終了って方法では
いかがでしょうか。
(ボコノン教徒さんが示してくださった JP175030 に書いてある方法です)

WindowsXP Pro SP1 で試してみたら上手くいきました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました