CreateProcessで実行した外部プログラムを終了させたい

[戻る]
yama1 [E-Mail] 2014/09/18(木) 16:05:38
Visual Studio 2008で開発しています。
CreateProcess()関数に外部コマンド(dirや自作プログラムなど任意のプログラム)
を"cmd /c"付きで実行させて、タイムアウトしたときに、外部コマンドを
TerminateProcess()関数などで強制終了させたいのですが、
"cmd /c"が終了するだけで実際に終了させたい外部コマンドが終了しません。
何か良い方法はありますか?

仲澤@失業者 2014/09/19(金) 11:10:42
そのコマンドプロンプトで、CTRL+Breakキーを操作した場合に
それを中止できるのならば・・・、という前提なのですが、

当該のコマンドプロンプトウインドウに
キーボードフォーカスを与えたのち、
keybd_event()、又はSendInput()を使って、
VK_CANCEL の WM_KEYDOWN をエミュレートする。
とかはどうでしょう。
実際には試してみてません。あしからず。

yama1 [E-Mail] 2014/09/20(土) 11:18:44
[[解決]]
仲澤さん
回答ありがとうございました。
私は初心者で仲澤さんが言っていることがよくわからないのと、あと、
ちょっと時間が足りないので今回はあきらめることにしました。
中途半端ですみません。

古いスレッドには追加発言できません。