【问题标题】:How to flash the desktop when I'm receiving an email?收到电子邮件时如何刷新桌面?
【发布时间】:2011-01-19 07:48:30
【问题描述】:

我正在开发一个电子邮件客户端,我希望在收到邮件时屏幕短暂闪烁。我在 .NET 文档中搜索了我可以搜索的任何地方,但我发现实现它的唯一方法是使用 DirectX 功能,这当然是不可能的:我不希望我的用户仅为邮件客户端安装 DirectX :)

有没有办法只用 GDI 做到这一点?

谢谢

【问题讨论】:

    标签: c# winapi screen gdi


    【解决方案1】:

    幸运的是,应用程序没有办法做这种烦人的事情。您的程序应使用notification area 通知用户事件和/或状态变化。

    查看WPF Notification Area 示例,了解如何在 WPF 应用程序中使用它...

    【讨论】:

    • 同样,应用程序可以使用 Windows 的显示警报功能来闪烁其任务栏图标(避免分割焦点)。使用 P/Invoke 调用 FlashWindowEx:msdn.microsoft.com/en-us/library/ms679347(VS.85).aspx
    • 我同意你的观点,VoidPointer,这是一件非常烦人的事情。但这是我客户的愿望......而客户是......客户;)感谢您的回答,我会尝试您的解决方案和理查德的。
    【解决方案2】:

    Windows 没有内置这样的功能是有充分理由的。显示大的闪烁矩形很容易引起photosensitive epilepsy 患者的癫痫发作。

    不要这样做。

    【讨论】:

    • 我完全同意你的看法......但正如我上面所说,这就是我的客户想要的。我告诉他光敏性癫痫,他不在乎……没有评论。
    【解决方案3】:

    我不确定您正在寻找哪种闪光效果,但您可以通过简要显示全屏半透明表单来实现这一点——请参阅Opacity 属性。

    【讨论】:

    • 谢谢,我也去看看 :)
    猜你喜欢
    • 2011-02-01
    • 1970-01-01
    • 2011-07-28
    • 2011-12-07
    • 2021-01-26
    • 2015-01-01
    • 2014-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多