没错,没错, yzhshi 说得没错。IShellIconOverlayIdentifier 顾名思义就是在一个原<br>来的图标上再覆盖上一张图标。典型的就是快捷方式左下角的小白箭头。虽然在某种情况<br>下可以做到似乎更改了图标(原来的图标没有覆盖图标大时),但好象没听说有人用这种方<br>法来更改图标的。<br>你所谓的更改图标,就是更改类似以下的注册表:<br><br>;我的文档图标<br>[HKEY_CURRENT_USER/Software/Classes/CLSID/{450D8FBA-AD25-11D0-98A8-0800361B1103}/DefaultIcon]<br>@="G://My Documents//Applications//ICON Get//shellXP.dll,126"<br><br>[HKEY_CURRENT_USER/Software/Classes/CLSID/{20D04FE0-3AEA-1069-A2D8-08002B30309D}]<br><br>;我的电脑图标<br>[HKEY_CURRENT_USER/Software/Classes/CLSID/{20D04FE0-3AEA-1069-A2D8-08002B30309D}/DefaultIcon]<br>@="G://My Documents//Applications//ICON Get//shellXP.dll,15"<br><br>[HKEY_CURRENT_USER/Software/Classes/CLSID/{208D2C60-3AEA-1069-A2D7-08002B30309D}]<br><br>;网上邻居图标<br>[HKEY_CURRENT_USER/Software/Classes/CLSID/{208D2C60-3AEA-1069-A2D7-08002B30309D}/DefaultIcon]<br>@="G://My Documents//Applications//ICON Get//shellXP.dll,18"<br><br>[HKEY_CURRENT_USER/Software/Classes/CLSID/{645FF040-5081-101B-9F08-00AA002F954E}]<br><br>;回收站图标<br>[HKEY_CURRENT_USER/Software/Classes/CLSID/{645FF040-5081-101B-9F08-00AA002F954E}/DefaultIcon]<br>"full"="G://My Documents//Applications//ICON Get//IconSet.dll,79"<br>"empty"="G://My Documents//Applications//ICON Get//IconSet.dll,78"<br>@="G://My Documents//Applications//ICON Get//IconSet.dll,78"<br><br>文件夹的图标更改大多还是使用 yzhshi 介绍的方法,连 Microsoft 也是这样。那你为<br>什么不用呢?<br>IShellLink 这个接口是做快捷方式用的,IShellLink::SetIconLocation 是设置快捷方式<br>的图标,不能使用在其他方面,所以你的这个问题已经结束,请结贴吧。<br>感谢 yzhshi 为我们都提供了学习机会,十分感谢。