1

Windows 7 で C# Windows Forms プログラムを使用していますが、どの Windows プログラムにも当てはまると思います。

プログラムのメイン フォームは画面全体をカバーし、Topmost プロパティが設定されています。ただし、たとえば、[スタート] キーをクリックして [スタート] メニューを開くと、タスクバーと [スタート] メニューが [常に手前に表示] フォームの上に表示されます。

これが発生し、フォーム/ウィンドウが最上位のウィンドウ (または Z オーダーの最上位) ではなくなったときに、フォーム/ウィンドウに送信されるウィンドウ メッセージ (WM_) はありますか? WndProc を使用してキャッチしたいと思います。

ありがとうございました

4

2 に答える 2

2

Raymond Chen のブログ投稿を読むのが賢明だと思います。ただの楽しい話のように感じますが、非常に真剣に受け止めてください。

引用: 「2 つのプログラムがこのように「決闘」した場合、どちらが勝つかは予測できませんが、100% 確実に誰が負けるかは予測できます: ユーザーです。

于 2012-01-21T16:07:03.500 に答える
1

上記の投稿でreneが言ったように、複数のアプリケーションが同じロジックを使用する場合は競合状態になりますが、それでも使用したい場合は、Form.Deactivatedを確認することをお勧めします。始める。

于 2012-01-23T00:59:06.347 に答える