我前几天在关于覆盖图标的问题上发了一个问题。通过帮助,我弄清楚了如何使其正常工作。
以下是图标覆盖的工作原理(据我所知):在shell绘制图标之前,它会与系统中的所有图标覆盖处理程序联系,以确定是否应在该特定图标上绘制叠加层。
我的设置:
我有一个已注册的Shell扩展名(图标叠加处理程序),我想使用它来显示图标叠加层。此外,我有一个.NET应用程序(C#),它将使用文件和文件夹的名称等写入数据库(最可能是SQLite),我要在这些文件和文件夹上显示图标叠加层。
我的问题是:
如何让Shell扩展名(我认为它基本上是一个COM DLL)回调到我的.NET应用程序?还是这太过繁琐,应该让Shell扩展名直接从数据库中读取?
可能的解决方案:
- 让Shell扩展名(图标叠加处理程序)读取数据库并确定是否显示叠加层。
- 让Shell扩展名回调到.NET应用程序以确定是否显示叠加层。
希望这有意义,如果不是,我会尽力解释。