Delphi 编写定制显示叠加图标的Shell扩展

大家都知道快捷方式会在原有的图标左下方重叠个小箭头的图标,

文件夹共享也会在原有的图标下面出现个手的图标。

Delphi 编写定制显示叠加图标的Shell扩展

通过叠加图标的显示我们能很直观的了解到该图标所代表的含义,

下面我们就编写一个图标叠加扩展处理器,如果文件属性为只读的,就在图标的右下方加个小锁。

我们准备了一个16*16的小锁图标readonly.ico并存放到C:\目录下:

Delphi 编写定制显示叠加图标的Shell扩展

扩展接口

图标叠加扩展处理器主要实现接口 IShellIconOverlayIdentifier

Delphi 编写定制显示叠加图标的Shell扩展

由于只是个简单的应用,在IsMemberOf里只用了dwAttrib就可以判断只读属性了,并没有用到pwszPath参数。

根据这个参数我们可以定制很多种其他的应用。

Demo下载: ShellExt.rar