以下の場所に VS2010 プロジェクトをアップロードしました。フルスクリーン アプリケーションを実行したら、このテスト アプリを実行する必要があります。実行するとすぐに、フルスクリーン アプリケーションをクリックして戻るまでに 2 秒かかります。ダイアログ ボックスの所有者としてフル スクリーン アプリケーション (フォーカスを持つ最後のウィンドウである必要があります) を使用して、2 つのモードレス ダイアログ ボックスを作成します。1 つのダイアログが表示されて非表示になり、2 番目のダイアログが表示されて非表示になり、最初のダイアログが再び表示されるというサイクルが繰り返されます。私が見つけたのは、最初のダイアログ ボックスが 2 回目に表示されると、タスクバーがポップアップすることです。私はここで何が起こっているのかを理解しようと 4 日間苦しい日々を過ごしてきました。
DestroyWindow を呼び出してダイアログを非表示にすると、Windows がフォーカスを「どこかに」、私の場合はタスクバーに置くことを示唆するヘルプを受け取りました。以前、この質問をしたとき、ウィンドウの所有者としてフルスクリーン アプリケーションを使用していませんでした。フォーカスを所有者ウィンドウに戻す必要があると思いましたか? また、ダイアログで DestroyWindow を呼び出す前に、全画面アプリケーションで SetFocus() と SetForegroundWindow() を呼び出してみましたが、タスクバーが毎回表示されるようで、まったく必要ありません。
助けてください!