0

在.Net(或通过pinvoke)中是否可以确定窗口窗体是否被遮挡(即其他窗口已移到其上方,因此无法看到)?我正在做的是检查表单是否最小化,如果是,则在任务栏上闪烁窗口。但是问题是如果它没有被最小化,而只是移动到后台,我还想通过在任务栏上闪烁窗口来通知用户。我不想自动将窗口移动到前台(即使没有激活)。我希望他们单击​​它以最大化和/或显示表单。想法?

这是一些代码:

                    // 看看我们是否已经和这个人进行了对话
                    var frm = theApp.GetConversationByUID(fromuid);
                    如果(frm == null)
                    {
                        frm = theApp.NewConversation(fromuid, fromname);
                    }
                    别的
                    {
                        bool insideView = frm.WindowState != FormWindowState.Minimized;
                        如果(视图内)
                        {
                            // 判断窗口是否刚刚被遮挡
                            //去做
                        }

                        // 如果会话窗口不在视图中,则将其闪烁
                        如果 (!withinView)
                        {
                            FlashWindow.Flash(frm);
                        }
                    }

4

1 回答 1

1

试试这个代码

于 2010-06-23T20:32:43.840 回答