.Net (または pinvoke 経由) で、ウィンドウ フォームがビューから遮られているかどうかを判断することは可能ですか (つまり、他のウィンドウがその上に移動されているため、表示されません)。私がやっていることは、フォームが最小化されているかどうかを確認し、最小化されている場合はタスクバーのウィンドウを点滅させることです。ただし、問題は、最小化されておらず、バックグラウンドに移動しただけの場合、タスクバーのウィンドウを点滅させてユーザーに通知したいことです。ウィンドウを自動的にフォアグラウンドに移動したくありません (アクティベートしなくても)。それをクリックして、フォームを最大化および/または表示してもらいたいです。アイデア?
ここにいくつかのコードがあります:
// この人物との会話がすでにあるかどうかを確認します var frm = theApp.GetConversationByUID(fromuid); if (from == null) { frm = theApp.NewConversation(fromuid, fromname); } そうしないと { bool withinView = frm.WindowState != FormWindowState.Minimized; if (ビュー内) { // ウィンドウが遮られているだけかどうかを判断する //TODO } // 会話ウィンドウが表示されていない場合は、フラッシュします if (!withinView) { FlashWindow.Flash(から); } }