开发者

Reset Taskbar Flash in C#

I have an application where the taskbar flashes if an event has occurred. This is working perfectly, and was relatively easy to implement using a Win32 API described below:开发者_开发问答 http://blogs.x2line.com/al/archive/2008/04/19/3392.aspx

However, when I stop the flashing, sometimes the application is stuck in the "highlighted" state in the taskbar. This only gets reset by clicking on the application in the taskbar, minimizing it, then re-maximizing it. Is there a way to clear this from being highlighted without any user interaction?


Maybe instead of flashing it you could put an overlay icon on it - one line of code from C# with the Code Pack. Then when you want to clear it you could take the overlay icon away - again one line of code. Windows 7 only, however.


Can you post the code that you are using to "Stop" the flashing?

Have you also considered using a different flag such as:

// flash until the window comes to the foreground FLASHW_TIMERNOFG = 12;

You will still need to click on the applicaiton to get the flash to stop, but you should not have to minimize then re-maximize the app to get the flash to stop.


You can include the FlashTaskbar snippet and use the following code

FlashWindow(Form.Handle, FlashMode.FLASHW_STOP)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜