当Windows XP将屏幕淡化为灰色时,如何通知我?

时间:2009-04-29 04:07:17

标签: c# wpf

我们有一个使用WPF(.NET Framework 3.0)在C#中开发的应用程序

主窗口有一个玻璃边框,一个包含WebBrowser的子窗口位于其中心:

WPF main window 
  -> Child window - frame control 
    -> Page 
      -> WindowsFormsHost
        -> WebBrowser

因为我们使用的是.NET 3.0,所以我们必须将WebBrowser放在WindowsFormsHost中,如果我们将窗口属性AllowTransparency设置为true,它就无法显示。

现在,在Windows XP上,当用户单击“开始”菜单上的“关闭”按钮时,会显示一个对话框,其中包含各种选项(关闭,重新启动等),而在其后面整个桌面似乎从颜色渐变为阴影灰色。发生这种情况时,我们的主窗口将变为隐藏状态,而页面窗口仍显示在屏幕上。

我们已经将页面窗口的所有者设置为主窗口,但这没有帮助。因此,我得出的结论是,我必须拦截“淡出灰色”事件,并......采取措施减轻这种丑陋。所以:有没有人知道如何在淡入淡出之前通知我的程序?

1 个答案:

答案 0 :(得分:1)

据我所知,当Windows将屏幕淡化为灰色时,无法收到通知。 System.SystemEvents类也没有这样的事件。