1

MFCでは、このコードを使用しています

ShellExecute(NULL, _T("open"), _T(EXTERNAL_APP), params, 
             _T(EXTERNAL_PATH), SW_HIDE);

バックグラウンドで実行される外部プログラムを開始します。

ただし、アプリが終了しても、Windows タスク マネージャー ペインを調べることで確認できるように、このプログラムはまだ実行されています。

私の質問は、アプリが停止したときに外部プログラムを停止するにはどうすればよいですか?

4

1 に答える 1

2

代わりに、新しく開始されたプロセスをShellExecuteEx返すことができる方法を試してください。HANDLE hProcess

がある場合/場合は、HANDLE hProcessそれをパラメーターとしてTerminateProcess関数に渡すことができると思います。これは、アプリケーションが停止する前に(子プロセスを終了するために)呼び出します。

于 2012-11-12T19:31:20.007 に答える