C# Windows 7任务栏开发之图标闪动(Flash)

使用QQ聊天时,如果对方发出了信息QQ 图标会闪动提示,虽然Windows API 没有直接控制闪动效果的方法,但该效果在开发中可能会经常使用,下面代码为一个闪动效果类:

/// <summary>
/// Win32 API
/// </summary>
internal static class Win32
{
    /// <summary>
    /// 窗口闪动
    /// </summary>
    /// <param name="hwnd">窗口句柄</param>
    /// <param name="bInvert">是否为闪</param>
    /// <returns>成功返回0</returns>
    [DllImport("user32.dll")]
    public static extern bool FlashWindow(IntPtr hwnd, bool bInvert);
}
/// <summary>
/// 窗口闪动的辅助类
/// </summary>
public class FlashWindowHelper
{
    Timer   _timer;
    int     _count      = 0;
    int     _maxTimes   = 0;
    IntPtr  _window;

    public void Flash(int times, double millliseconds, IntPtr window)
    {
        _maxTimes   = times;
        _window     = window;

        _timer = new Timer();
        _timer.Interval = millliseconds;
        _timer.Elapsed += _timer_Elapsed;
        _timer.Start();
    }

    void _timer_Elapsed(object sender, ElapsedEventArgs e)
    {
        if (++_count < _maxTimes)
        {
            Win32.FlashWindow(_window, (_count % 2) == 0);
        }
        else
        {
            _timer.Stop();
        }
    }
}

通过FlashWindowHelper 类可以轻松的使任务栏图标闪动起来:

/// <summary>
/// 通过FlashWindowHelper 类可以轻松的使任务栏图标闪动起来:
/// </summary>
private void _btnFlash_Click(object sender, EventArgs e)
{
    FlashWindowHelper helper = new FlashWindowHelper();
    helper.Flash(10, 300, this.Handle);
}

时间: 2024-10-09 22:49:46

C# Windows 7任务栏开发之图标闪动(Flash)的相关文章

C# Windows 7任务栏开发之进度条(Progress Bar)

Windows 7 任务栏为我们增添了许多其他功能:Jump Lists,Window Preview,Progress Bar,Overlay Icon 等等. 新任务栏的功能使我们的操作更加方便快捷,微软提供了方便的工具Windows API Code Pack for .NET Framework 来帮助我们完成这些开发,程序中增加Microsoft.WindowsAPICodePack.dll 和Microsoft.WindowsAPICodePack.Shell.dll. 在使用IE

C# Windows 7任务栏开发之跳转列表(Jump Lists)

Jump Lists可以使用户方便快捷的找到想要浏览的文件(文档.图片.音频或视频等)以及应用程序的链接或快捷方式.以IE 浏览器为例看看Jump Lists 都具备哪些功能: "Taskbar Tasks" 放置了应用程序的一些默认任务:"打开IE 浏览器"."从任务栏取消固定"."关闭程序".无论是否对Jump Lists 做过开发,"Taskbar Tasks" 列表都会出现在所有的应用程序中. &q

Win10如何隐藏Windows Defender任务栏图标

Windows 10 至发布以来就内置集成了 Windows Defender 安全防护应用,但有许多用户平常压根儿就没注意到它的存在.微软为了使安全防护功能更加明显,Windows 10 周年更新中将 Windows Defender 图标列到了任务栏通知区域,以方便用户使用. 禁用任务栏图标并不会影响到 Windows Defender 的正常工作,它仍会在后台对系统进行安全防护,你可以正常通过「设置」-「更新和安全」-「Windows Defender」或在「开始」菜单中搜索 Window

推荐提升效率的4个Windows 10任务栏快捷键

关于Linux的学习请关注书籍<Linux就该这么学>,还可以关注Linuxprobe网站 从 Windows 95 开始到现在的 Windows 10 系统,「任务栏」一直是 Windows 的重要组成部分和标志,虽然在使用过程中仍时不时会遇到一些奇怪问题,但时至今日无可否认,它在外观和功能上都已经有了突飞猛进的改善. Windows 10 中的任务栏可以算是(我个人认为)最好用的一个迭代版本,用户不仅可以在多个方面对其进行自定义定制,还可以进行调整让它更符合你的使用习惯,提高生产效率. 但

使用 VSCODE 在 Windows 10 WSL 中远程开发

使用 VSCODE 在 Windows 10 WSL 中远程开发 安装 VSCODE 1.35+ 版本. 在 VSCODE 中安装 WSL 插件. 点击左下角的 WSL 图标. 打开项目,提示路径. 感觉微软是在做最好的 Linux 桌面发行版. 原文地址:https://www.cnblogs.com/F4NNIU/p/10996892.html 原文地址:https://www.cnblogs.com/F4NNIU/p/10996892.html

Windows下Ionic Android开发环境搭建

转自 http://www.itwap.net/ArticleContent.aspx?id=26 来源: itwap.net 作者: 词略 时间: 2015-4-2 16:57:28 (一)Ionic简单介绍:   首先,Ionic是什么. Ionic是一款基于PhoneGap及AngularJS开发Hybrid/Web APP的前端框架,类似的其他框架有:Intel XDK等. 简单来说就是可以将你的Web应用打包发布成IOS/Android APP,并且提供了PhoneGap之外很多强大的

在windows下进行linux开发:利用Vagrant+virtualbox(ShowDoc与mp3dish的作者)

1,介绍Vagrant 我们做web开发的时候经常要安装各种本地测试环境,比如apache,php,mysql,redis等等.出于个人使用习惯,可能我们还是比较习惯用windows.虽然说在windows下搭建各种开发环境是可行的,各大开发环境都有windows版本.然而在windows下配置有时候会显得繁琐,并且还会导致开发环境(windows)和生产环境(lunix)不一致.能不能在windows下也像linux那样开发?也许你想到了,用虚拟机.用虚拟机装个linux系统就好了.装完lin

Windows系统下Android开发环境搭建

“工具善其事,必先利其器”.要想学好Android,搭建好Android开发环境是一个良好的开端. Windows系统下Android开发环境主要有4个大的步骤.分别是: 1.JDK的安装 2.eclipse的安装 3.Android SDK 的安装 4.Android ADT插件的安装 ---------------------------------------------------------------------------------------------------------

C#学习(九)之Windows Store App &amp; WP 开发小记(一)

由于课程已经讲述完毕,所以本次学习记录就讨论记录一下我在Windows Store App & WP开发中遇到的一些问题与收获. 一.数据库(Sqlite)的使用 虽然资料很难找,但sqlite在这两个平台的使用还是很简单的. 首先是环境配置阶段: 1.工具->拓展与更新->联机,然后在右上搜索sqlite,之后下载安装下图两个打勾的拓展包,注意要重启VS方才生效. 2.项目->管理NuGet程序包->联机,搜索sqlite,安装下图打勾内容,如果项目多出下图两个文件即安装