C# WinForm实现任务栏程序图标闪烁
2017-07-24 10:00
531 查看
相信大家在用QQ的时候都会知道,你打开了QQ聊天窗口,如果窗口不是当前激活的窗口的话,收到QQ消息时,任务栏(不是托盘图标)上的图标会闪一下变成黄色(Win7默认主题下),用以通知用户有消息进来了,之前我用C#不知道这是怎么做的,用this.Activate()方法就是直接激活窗体,没有达到想要的效果。后来找到了两个API函数,可以实现这个功能。
用到一个Windows的API函数。先来看看这个函数:
View Code
以上例子只要调用FlashWin()可实现闪烁。
转载自:http://www.hejingzong.cn/blog/viewBlog_59.aspx
用到一个Windows的API函数。先来看看这个函数:
[DllImport("User32.dll", CharSet = CharSet.Unicode, EntryPoint = "FlashWindowEx")] private static extern void FlashWindowEx(ref FLASHWINFO pwfi); public struct FLASHWINFO { public UInt32 cbSize;//该结构的字节大小 public IntPtr hwnd;//要闪烁的窗口的句柄,该窗口可以是打开的或最小化的 public UInt32 dwFlags;//闪烁的状态 public UInt32 uCount;//闪烁窗口的次数 public UInt32 dwTimeout;//窗口闪烁的频度,毫秒为单位;若该值为0,则为默认图标的闪烁频度 } public const UInt32 FLASHW_TRAY = 2; public const UInt32 FLASHW_TIMERNOFG = 12; private void FlashWin() { FLASHWINFO fInfo = new FLASHWINFO(); fInfo.cbSize = Convert.ToUInt32(Marshal.SizeOf(fInfo)); fInfo.hwnd = this.Handle; fInfo.dwFlags = FLASHW_TRAY | FLASHW_TIMERNOFG; fInfo.uCount = 3;// UInt32.MaxValue; fInfo.dwTimeout = 500; FlashWindowEx(ref fInfo); }
View Code
以上例子只要调用FlashWin()可实现闪烁。
转载自:http://www.hejingzong.cn/blog/viewBlog_59.aspx
相关文章推荐
- C#之使用NotifyIcon实现任务栏托盘菜单,图标闪烁效果及气泡提示 很多程序是只需要后台运行的,甚至不需要自己的应用界面。NotifyIcon提供了程序在任务栏的显示功能 程序下载链接如下
- C# 实现WinForm程序的动态系统托盘图标
- C# 实现任务栏图标程序
- C#实现WinForm程序的动态系统托图标 关闭主窗体时最小化到系统托盘
- C# 实现任务栏图标程序
- C# 实现任务栏图标程序
- C#实现WinForm程序的动态系统托盘图标
- C# 实现任务栏图标程序
- C# 实现任务栏图标程序
- C#实现WinForm程序的动态系统托图标
- C#Winform实现程序关闭隐藏窗体,二次程序启动时显示
- C#实现窗口任务栏闪烁代码如下
- c#调用 windows api实现WinForm中嵌入EXE程序
- VC++ 实现VC程序启动时最小化到任务栏(完美解决闪烁问题)
- C#实现WinForm禁止最大化、最小化、双击标题栏、双击图标等操作的方法
- C#实现无边框窗体点击任务栏图标正常最小化和还原
- 浅谈:如何用C#实现简单的带有验证码及密码使用MD5加密的“登录”WinForm小程序
- c# 任务栏中图标闪烁效果
- C# 实现Winform全屏后不遮挡任务栏,显示任务栏
- C#实现系统托盘,C#窗体最小化时隐藏为任务栏图标