タスク スケジューラが実行中のタスクを終了する方法を知りたいです。タスク スケジューラ ジョブにアプリを追加しましたが、ジョブのタスク スケジューラで終了を押すと (タスク スケジューラから開始した後)、タスクが Windows によって強制終了されます (アプリでメッセージを受信しなかったか、WM_QUIT
またはメッセージを受信しませんでした)。 WM_CLOSE
. また、タスク スケジューラでタスクを閉じる方法を構成する方法も見つかりませんでした。私の目標は、タスク スケジューラ (存在する場合) によって送信されたメッセージを処理し、アプリを適切に閉じることです。
1 に答える
2
おそらくWindowsの機能でプロセスがkillされているのでしょうTerminateProcess()
。メッセージキューは関係ありません。これを構成する方法はなく、TerminateProcess をトラップする方法もありません。
長時間実行する必要がある場合は、タスク スケジューラを使用する代わりに、実際の Windows サービスを作成することを検討してください。次に、シャットダウンの通知を含む Service Control Notifications を受け取ります。これにより、サービスが終了する前にクリーンアップできます。
于 2016-04-23T23:38:34.923 に答える