3

Windowsを閉じると、正常かつ迅速に終了するアプリケーションがあります(タスクマネージャーとプロセスエクスプローラーでもチェックされます-プロセスはもうありません)が、OSは終了しません。OSはシャットダウンを無視しているようです。

しかし、もう一度 Windows を閉じようとすると、すべて問題ありません。システムはごく普通の方法でシャットダウンします。

  1. なんで?
  2. どうすればこれを修正できますか?

私のアプリの詳細:

  • マルチスレッド
  • トレイアイコンがあります
  • WM_QUERYENDSESSION (または同様の) OS メッセージの特別な処理は行いません。
  • 特別なドライバー、DLL フックなどはありません。

それを修正する方法はありますか?

PS: ご要望に応じて詳細をお知らせします

4

3 に答える 3

1

本当にWM_QUERYENDSESSION(または同様の)OSメッセージにTRUEを返しますか?メッセージが表示され、アプリを閉じてFALSEを返す場合があります。

于 2010-01-15T10:24:40.823 に答える
1

奇妙ですが、ほぼ同じ問題が今週私たちを悩ませました

アプリケーションはトレイで実行され、閉じられましたが、ウィンドウがシャットダウンされませんでした。そこで、問題を解決したものを共有します。

  • データモジュールを削除すると、問題が修正されました。
  • NMsmtp コンポーネントを削除すると、問題が修正されました。
  • このバグ レポートに記載されている提案を実装すると、私のワークステーションでは問題が修正されましたが、別のワークステーションでは修正されませんでした。

最終的に、ソース コードがなく、Indy を使用するように変更したため、NMsmtp コンポーネントを削除することにしました。

ほとんどの場合、状況は異なるため、私たちが行ったようにして、プロジェクトが機能するまですべてをプロジェクトから取り除き始めることをお勧めします。

于 2010-01-27T16:27:58.723 に答える
0

アプリケーションがまだバックグラウンドで動作している場合、これはWindowsのシャットダウンを妨げる可能性があります。

AutoEndTasks設定が有効になっているかどうかを確認し、有効になっていない場合は有効にすることができます。

http://technet.microsoft.com/en-us/library/cc978604.aspx

よろしくお願いします

于 2010-01-15T10:27:06.463 に答える