Windows核心编程_实现QQ好友来消息时任务栏头像闪烁功能
发布日期:2021-06-30 15:33:33 浏览次数:4 分类:技术文章

本文共 1730 字,大约阅读时间需要 5 分钟。

当QQ好友来消息时,任务栏会发出通知,如:

实现方法:

FlashWindow

函数原型:

BOOL WINAPI FlashWindow(__in HWND hWnd, //要闪烁的窗口的句柄,该窗口可以是打开的或最小化的__in BOOL bInvert //为TRUE,表示窗口从一个状态闪烁到另一个状态;//为FALSE,表示窗口恢复到初始状态(可能是激活的也可能是非激活的));

用途:

为了通知用户某种错误发生了,很多应用程序一般使用MessageBeep函数发出蜂鸣声,或者调用函数FlashWindow或FlashWindowEx来使特定的窗口闪烁。应用程序也能使用这些函数来引起用户对某个事件关注,然后显示一个消息提示对话框或一条详细错误信息。

介绍:

FlashWindow函数用来使某个指定的窗口产生一次闪烁的效果,它同样不会改变窗口的活动状态

FlashWindow函数只能闪烁一次,如果要使用该函数闪烁多次时,应用程序需要增加一个系统定时器。

返回值:

返回值表示调用FlashWindow函数之前窗口的活动状态,若指定窗口在调用函数之前是激活的,那么返回非零值,否则返回零值。

示列:

FlashWindow(hWnd,TRUE);

窗口只会闪烁一次,可以使用定时器或者消息线程方式来处理

2.FlashWindowEx

函数原型:

BOOL WINAPI FlashWindowEx(__in PFLASHWINFO pfwi //指向FLASHWINFO结构的指针);

用途:

FlashWindowEx函数用来使某个特定的窗口产生闪烁的效果,但它并不改变该窗口的活动状态:

典型情况下,我们使一个窗口闪烁是为了告诉用户这个窗口需要关注这个窗口,但该窗口暂时没有获得键盘焦点。当一个窗口闪烁时,它表现出来的状态就像从激活状态到非激活状态之间往返循环。

返回值:

返回值表示调用FlashWindowEx函数之前窗口的活动状态,若指定窗口在调用函数之前是激活的,那么返回非零值,否则返回零值。

所需结构体:

 

FLASHWINFO结构包含了特定窗口的闪烁状态,以及系统要闪烁窗口的次数:

typedef struct {UINT cbSize; //该结构的字节大小HWND hwnd; //要闪烁的窗口的句柄,该窗口可以是打开的或最小化的DWORD dwFlags; //闪烁的状态,可以是下面取值之一或组合://FLASHW_ALL---同时闪烁窗口标题和窗口的任务栏按钮,// 相当于FALSHW_CAPTION | FLASHW_TRAY//FLASHW_CAPTION---闪烁窗口的标题//FLASHW_STOP---停止闪烁,系统将重置窗口到其初始状态//FLASHW_TIMER---不停地闪烁,直到FLASHW_STOP标志被设置//FLASHW_TIMERNOFG---不停地闪烁,直到窗口前端显示//FLASHW_TRAY---闪烁窗口的任务栏按钮UINT uCount; //闪烁窗口的次数DWORD dwTimeout; //窗口闪烁的频度,毫秒为单位;若该值为0,则为默认图标的闪烁频度} FLASHWINFO, *PFLASHWINFO;

示列:

ShowWindow(hWnd, nCmdShow);   UpdateWindow(hWnd);   FLASHWINFO st;   st.cbSize = sizeof(FLASHWINFO);   st.dwFlags = FLASHW_ALL | FLASHW_STOP;   st.dwTimeout = 0;   st.hwnd = hWnd;   st.uCount = 4;   FlashWindowEx(&st);

 

QQ在闪烁一段时间还没有被激活的情况下会一直处于橘黄色的状态,FlashWindowEx闪烁完成后就不会呈现处橘黄色的状态

那么我们如何实现QQ那样闪烁一段时间还没有被激活则处于橘黄色等待呢?

答案:要让窗口处于非激活状态,那么就会实现和QQ一样的效果。

比如,没有键盘输入,或者没有焦点,没有在前端,窗口在最小化。

 

转载地址:https://jrhar.blog.csdn.net/article/details/109543253 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:CMake构建_增加编译选项(debug&&release)
下一篇:Linux开发_判断程序是否以管理员权限运行(root/sudo)

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月22日 13时50分30秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章