在C#中重置任务栏Flash

时间:2010-06-16 13:11:50

标签: c# .net com-interop user32

我有一个应用程序,如果发生了事件,任务栏会闪烁。这是完美的,并且使用下面描述的Win32 API相对容易实现: http://blogs.x2line.com/al/archive/2008/04/19/3392.aspx

但是,当我停止闪烁时,有时应用程序会卡在任务栏中的“突出显示”状态。只有通过单击任务栏中的应用程序,将其最小化,然后重新最大化它,才能重置此项。有没有办法在没有任何用户交互的情况下突出显示这个?

3 个答案:

答案 0 :(得分:0)

也许不是闪烁它就可以在其上放置一个叠加图标 - 来自C#的代码包中的一行代码。然后当你想清除它时,你可以取下叠加图标 - 再一行代码。但是,仅限Windows 7。

答案 1 :(得分:0)

您可以发布用于“停止”闪烁的代码吗?

您是否还考虑使用其他标志,例如:

//闪烁,直到窗口到达前台 FLASHW_TIMERNOFG = 12;

您仍然需要点击应用程序才能停止闪光灯,但您不必最小化然后重新最大化应用程序以使闪光停止。

答案 2 :(得分:0)

您可以添加FlashTaskbar代码段并使用以下代码

FlashWindow(Form.Handle, FlashMode.FLASHW_STOP)