Delphi 编写定制显示叠加图标的Shell扩展
来源:互联网 发布:linux db2教程 编辑:程序博客网 时间:2024/06/16 10:28
大家都知道快捷方式会在原有的图标左下方重叠个小箭头的图标,
文件夹共享也会在原有的图标下面出现个手的图标。
通过叠加图标的显示我们能很直观的了解到该图标所代表的含义,
下面我们就编写一个图标叠加扩展处理器,如果文件属性为只读的,就在图标的右下方加个小锁。
我们准备了一个16*16的小锁图标readonly.ico并存放到C:/目录下:
扩展接口
图标叠加扩展处理器主要实现接口 IShellIconOverlayIdentifier
IShellIconOverlayIdentifier 的 IsMemberOf首先被调用
参数:
pwszPath: Shell对象的完整路径
dwAttrib: Shell对象的属性
GetPriority设置显示优先级,多个叠加图标时有效
参数:
pIPriority: 可以设置为0-100之间的值,0的优先级别最高
GetOverlayInfo在Shell启动时加载图标到系统图标里
参数:
pwszIconFile: Icon图标的完整路径,可以是.exe,.dll和.ico文件类型
cchMax: pwszIconFile 的 buffer大小
pIndex: 如果文件包含多个图标的话指定使用图标的索引值
pdwFlags: 指定返回什么类型的信息
ISIOI_ICONFILE: 返回pwszIconFile的路径信息
ISIOI_ICONINDEX: 返回pIndex的索引值
可以使用其中一种标识或者两者一起使用
实现扩展接口后接下来就是注册扩展
使用Regsvr32注册完我们的dll后并不能马上看到效果,因为图标是在Shell启动时才加载的。
重启Explorer或者新开个Explorer进程就可以看到效果了。
由于只是个简单的应用,在IsMemberOf里只用了dwAttrib就可以判断只读属性了,并没有用到pwszPath参数。
根据这个参数我们可以定制很多种其他的应用。
Demo下载: ShellExt.rar- Delphi 编写定制显示叠加图标的Shell扩展
- Delphi实现shell扩展
- Delphi实现shell扩展
- delphi编写分页显示的模板
- delphi编写提取exe文件的ICO图标
- 利用DELPHI编写IE扩展
- Delphi编写windows外壳扩展
- [Delphi] 编写IE菜单扩展
- Delphi编写windows外壳扩展
- [Delphi] 利用DELPHI编写IE扩展
- 定制您的 Shell
- 定制网站的收藏夹图标
- Windows Shell扩展系列文章 2 - .NET 4为扩展的Windows Shell上下文菜单项添加位图图标
- 安卓系统定制:android的充电图标的制作和显示
- 利用Delphi编写Windows外壳扩展
- 如何定制Launcher主菜单中应用程序图标的显示顺序?
- 浏览器的定制与扩展
- 浏览器的定制与扩展
- PHP动态网页转换HTML的一个简单办法
- SQL2005
- 如何更改SQL Server 2005的 身份验证模式
- COM技术内幕-读书笔记-系列之二
- 碳硫分析原理和方法比较
- Delphi 编写定制显示叠加图标的Shell扩展
- SAP Java Connector - Example 3: Create Salesorder
- 简单的编码加密
- A*算法的最短路径实现!
- 如何用sql语句创建数据库
- Cannot create PoolableConnectionFactory
- Facebook 的 Memcached 扩展经验
- 使用工作队列
- MySpace 系统架构