したがって、純粋な WinAPI を使用したダイアログ ベースのアプリケーションがあります。メイン ダイアログと、ツールウィンドウである他の複数のダイアログがあります。これらのツール ウィンドウは自由に動き回ることを意図しており、ユーザーはそれらをドラッグしたり、非表示にしたり、表示したりできますが、タスクバー エントリはありません。これは私が意図したものですが、問題は、メイン ウィンドウから別のアプリケーションに切り替えて、メイン ウィンドウのタスクバー エントリをクリックすると、メイン ウィンドウは表示されますが、ツールウィンドウは表示されないことです。それらはメイン ウィンドウや他のアプリケーションのウィンドウの後ろに隠れたままになり、最上位のウィンドウをすべて移動してツール ウィンドウを追い詰めるまで、それらを使用することはできません。
したがって、これを回避するために私がやろうとしているのは、ユーザーがウィンドウを最小化から復元したときに、すべてのツール ウィンドウを列挙し、おそらくSetActiveWindow()
.
しかし、ウィンドウが復元されたときに送信されるメッセージは何ですか? WM_SHOW、または WM_RESTORE を考えていましたが、存在しません。
別の質問です。これに答えた場合、最初の質問は関係ありません。その回避策を使用する必要がなくなるためです。すべてのツール ウィンドウを前面に表示するより良い方法はありますか?