XP 源代码 如何在清空回收站时修改回收站图标

2020-11-27 14:40:37 浏览数 (1)

本文来聊聊在 XP 系统里面,是如何在清空回收站的时候修改回收站图标的

声明 我没有拿到微软泄露 XP 系统的源代码,以下逻辑都是我瞎说的,微软才不会写出如此逗比的代码

在 bitbuck.c 文件里面有 SHUpdateRecycleBinIcon 的实际实现,而这个方法实际上只是调用了 UpdateIcon 方法而已。大概的代码如下

代码语言:javascript复制
STDAPI_(void) SHUpdateRecycleBinIcon()
{
    UpdateIcon(!回收站是不是空的());
}

在 UpdateIcon 方法里面,先从注册表拿到回收站的图标,因为回收站的图标是可以让用户定制的

通过传入是否回收站是空的,获取不同的图标

拿到图标之后,调用 SHUpdateImage 方法将图标设置给回收站

这就是在 XP 系统里面的逻辑。上面代码也说明了 BitBucket 打不过 GitHub 的原因了,因为在 XP 上就是垃圾桶

感谢工具人 少珺 的协助

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。

无盈利,不卖课,做纯粹的技术博客

0 人点赞