6

タスク スケジューラが実行中のタスクを終了する方法を知りたいです。タスク スケジューラ ジョブにアプリを追加しましたが、ジョブのタスク スケジューラで終了を押すと (タスク スケジューラから開始した後)、タスクが Windows によって強制終了されます (アプリでメッセージを受信しなかったか、WM_QUITまたはメッセージを受信しませんでした)。 WM_CLOSE. また、タスク スケジューラでタスクを閉じる方法を構成する方法も見つかりませんでした。私の目標は、タスク スケジューラ (存在する場合) によって送信されたメッセージを処理し、アプリを適切に閉じることです。

4

1 に答える 1

2

おそらくWindowsの機能でプロセスがkillされているのでしょうTerminateProcess()。メッセージキューは関係ありません。これを構成する方法はなく、TerminateProcess をトラップする方法もありません。

長時間実行する必要がある場合は、タスク スケジューラを使用する代わりに、実際の Windows サービスを作成することを検討してください。次に、シャットダウンの通知を含む Service Control Notifications を受け取ります。これにより、サービスが終了する前にクリーンアップできます。

于 2016-04-23T23:38:34.923 に答える