Y_Theta 2020-04-02 17:45
浏览 212

腾讯管家的托盘加速球是如何实现的

图片说明

如上图,像这样在非 SysPager 中的托盘图标是如何实现的,包括360,360甚至能够直接启动图标的平板模式(间距更大)

我用 SPY++看窗体,他似乎不是嵌入在 Explorer 里的

图片说明

我想了几种可能的情况:
1、钩子钩到 TrayNotifyWnd 的大小改变事件,在里面根据窗体的句柄重新安排窗体位置,留下了自己图标大小的空间,然后放个置顶的窗体在上面
2、将 deskband 注册到了那个位置(猜的,完全没有头绪)

最神乎其技的是,他似乎没有以其他的系统托盘窗体作为依托(我将系统托盘全部关闭他也能随时添加这个图标),但是有一点就是把他加入后,TrayNotifyWnd 的绘制事件会多出。

钩子那种方法我用系统时钟试了一下,调整大小会直接消失。
而第二种方法可行性就更不确定了,CodeProject StackOverFlow Google 都找过,没有什么实际性的建议,最靠谱的就是第一种情况,但是我实在是没办法找到可行代码。

学生出于兴趣问的,希望老 Windows 开发能够帮助一下(标签都没有windows了,唉)

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 #MATLAB仿真#车辆换道路径规划
    • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
    • ¥15 数据可视化Python
    • ¥15 要给毕业设计添加扫码登录的功能!!有偿
    • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
    • ¥15 微信公众号自制会员卡没有收款渠道啊
    • ¥15 stable diffusion
    • ¥100 Jenkins自动化部署—悬赏100元
    • ¥15 关于#python#的问题:求帮写python代码
    • ¥20 MATLAB画图图形出现上下震荡的线条