刷新右下角托盘,清除无效图标


最近有一个需求,程序崩溃(非正常退出)的时候,右下角通知栏区域会有残留的图标,为了获得更好的体验希望能在通知栏不会有很多的图标残留。

关于托盘(tray)和通知栏(notifyicon)

查了很多资料大都是关于刷新托盘(tray)的,但是我的icon是放在隐藏通知栏区域的也就是那个向上的小箭头,点开才能看到,托盘区域,个人感觉偏向于指的是最下面任务栏你能看到的部分,(隐藏)通知栏区域指的是点开那个向上的箭头(通常位于网络旁边)看到的部分。这儿推荐一个vs自带的窗口查看工具spy++,安装过vs的应该都会有的,可以看到不同的窗体(右键,高亮,就可以看到当前窗体具体指的哪个)。

刷新通知栏区域

关于刷新托盘区域,网上已经有很多资源了就不赘述了,刷新通知栏区域也是类似的方法
spy窗体查看器就可以找到
首先通过FindWindow和FindWindowex 两个API获取窗口句柄,然后模拟鼠标在窗口上面划过(代码仿照刷新托盘即可),然后就可以实现刷通知栏的功能了。(需要代码的留言即可)

存在的问题

有时候通知栏区域的图标会自动跑到下面(托盘)来,点开向上的箭头就会自己进去,这种情况下是刷新不了的,如果有好的建议,烦请告知。
第一次发csdn,还望各位大佬多包涵。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值