本文来聊聊在 XP 系统里面,是如何在清空回收站的时候修改回收站图标的
声明 我没有拿到微软泄露 XP 系统的源代码,以下逻辑都是我瞎说的,微软才不会写出如此逗比的代码
在 bitbuck.c 文件里面有 SHUpdateRecycleBinIcon 的实际实现,而这个方法实际上只是调用了 UpdateIcon 方法而已。大概的代码如下
STDAPI_(void) SHUpdateRecycleBinIcon()
{
UpdateIcon(!回收站是不是空的());
}
在 UpdateIcon 方法里面,先从注册表拿到回收站的图标,因为回收站的图标是可以让用户定制的
通过传入是否回收站是空的,获取不同的图标
拿到图标之后,调用 SHUpdateImage 方法将图标设置给回收站
这就是在 XP 系统里面的逻辑。上面代码也说明了 BitBucket 打不过 GitHub 的原因了,因为在 XP 上就是垃圾桶
感谢工具人 少珺 的协助
本文会经常更新,请阅读原文: https://dotnet-campus.github.io//post/XP-%E6%BA%90%E4%BB%A3%E7%A0%81-%E5%A6%82%E4%BD%95%E5%9C%A8%E6%B8%85%E7%A9%BA%E5%9B%9E%E6%94%B6%E7%AB%99%E6%97%B6%E4%BF%AE%E6%94%B9%E5%9B%9E%E6%94%B6%E7%AB%99%E5%9B%BE%E6%A0%87.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 lindexi (包含链接: https://dotnet-campus.github.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。