基本的に、誰かがタスクマネージャなどで終了タスクをクリックしたときのように、自分のプログラムが終了していることを検出する必要があると、タイトルが言っています。誰かが私にこの事例を扱う何らかのイベントを指摘できますか?任意の助けをありがとう私のWindowsアプリケーションが終了したかどうかを検出するには?
答えて
このプロセスを開く必要があります。この方法でハンドルを取得します。その後、このハンドルを単に待つことができます。
HANDLE h = OpenProcess(....);
WaitForSingleObject(h);
多くの点で、プロセスとスレッドのハンドルは、Windowsイベントハンドルのように見えます。このプロセスまたはスレッドが終了すると、シグナルが通知されます。
askerは、終了中のプロセスでコードを実行しています。だから、これは助けにならないでしょう。 –
まず第一に、これはOPから不明です。第二に、いったんプロセスが終了すると、これまでに開始した情報があるはずです。 AFAIK Windowsは少なくともデフォルトでこのレコードを保持しません。 –
質問が不明な場合は、説明を求めるコメントを投稿する必要があります。 – IInspectable
あなたのアプリがどのように終了し、どのタイプのアプリであるかによって異なります。 UIを持つアプリケーションの場合
:
- ユーザーがタスクマネージャで「タスクの終了」をクリックすると、あなたが実際にあなたのメッセージハンドラにWM_DESTROYとさえWM_CLOSEメッセージを受信します。
- ユーザーがアプリのXボタンをクリックするだけであれば、明らかに上記が適用されます。
- ユーザーがPCからログオフまたはシャットダウンすると、WM_QUERYENDSESSIONおよびWM_ENDSESSIONメッセージが受信されます。
コンソールアプリケーションの場合、SetConsoleCtrlHandler関数を使用して、アプリの終了のほとんどのケースを通知することができます(これは何も経験がないため、詳細はわかりません)。
サービスの場合、同様の方法でRegisterServiceCtrlHandler関数を使用できます。アプリケーションのすべてのタイプの
、アプリはTerminateProcess関数を介して他のプロセスによって強制終了された場合、there is no way to get notified:プロセスはのTerminateProcessで終了した場合
、プロセスのすべてのスレッドが何を直ちに終了されていません追加のコードを実行するチャンス。これは、スレッドが終了ハンドラブロックでコードを実行しないことを意味します。さらに、プロセスが切り離されていることが接続されたDLLには通知されません。
- 1. NSURLConnectionのsendSynchronousRequest:returningResponse:エラーが終了したかどうかを検出する方法:
- 2. メインプロセスがバックグラウンドプロセスから終了したかどうかを検出します。
- 3. UWPアプリケーションをプログラムで終了または終了するにはどうすればよいですか? (Windows 10)
- 4. アプリケーションが終了したときに検出する
- 5. エスプレッソアクティビティが終了したかどうかをテストするには?
- 6. Windowsでスレッドが終了する理由を検出するにはどうすればよいですか?
- 7. どのようにWindow.ClientSizeChanged終了を検出できますか?
- 8. 終了かシステムエラーかによってアプリケーションが終了したかどうかを確認してください。
- 9. Cordova:音声ディクテーションがiOSで終了したかどうかを検出する方法はありますか
- 10. Firebase Listenerがデータの取得を終了したかどうかを検出する方法は?
- 11. C++ Windowsプログラム検出プログラム終了| GUIまたはコンソールなし
- 12. オーディオファイルの再生が終了したことを検出するにはどうすればよいですか?
- 13. Androidアプリケーションはどのように終了しますか?
- 14. iOS - ユーザーがアプリケーションを終了したときにプッシュ通知を検出する
- 15. スワイプジェスチャーに起因するスクロールがモバイルウェブブラウザで終了したことをどのように検出しますか?
- 16. スレッドメソッドが完了したかどうかを検出するにはどうにかします
- 17. どのようにしてcocossharpアプリケーションを終了しますか?
- 18. iOS:アニメーションが終了したときを検出するにはどうすればよいですか?
- 19. アプリケーションを終了した後にサービスが終了する
- 20. Reactネイティブアプリ(esp Android)のアプリケーション終了を検出するにはどうすればよいですか?
- 21. Swift:アプリケーションがクラッシュしたかどうかをネイティブに検出
- 22. iOS - アプリケーション終了時の検出
- 23. htmlがレンダリングを完了したかどうかを検出する方法は?
- 24. アプリケーションが最小化または終了するタイミングを検出する方法
- 25. HTML5オーディオの再生が終了したときは、どのように検出しますか?
- 26. アプリケーションが終了したときに、バックグラウンドスレッドがアプリケーションによって強制終了されたことを検出できますか?
- 27. MPMusicPlayerControllerPlaybackStateDidChangeNotification曲が終了したかどうかを確認する
- 28. どのように私のアンドロイドデバイスからアプリケーションを終了するには、コルドバのボタンを押しますか?
- 29. UITextViewがスクロールを終了したときに検出する
- 30. AVFoundationカメラがフォーカスを終了したときに検出する
どのようにプログラムを開始しますか?そして、あなたが達成しようとしていることについてより多くの状況情報を私たちにお寄せください。 –
この情報を受け取るプロセスはどれですか?終了しようとしているプロセス、または外部プロセス? – IInspectable
これは何度も尋ねられています。あなたはどんな研究をしましたか? –