前几天我问了一个关于覆盖图标的问题。在帮助下,我想出了如何让它发挥作用。
以下是图标覆盖的工作原理(据我所知):在外壳绘制图标之前,它会联系系统中的所有图标覆盖处理程序以确定它是否应该在该特定图标上绘制覆盖。
我的设置:
我有一个注册的外壳扩展(图标覆盖处理程序),我想用它来显示图标覆盖。此外,我有一个 .NET 应用程序 (C#),它将使用我想要显示覆盖的所有文件和文件夹的名称等写入数据库(最有可能是 SQLite)。
我的问题是:
如何让 Shell 扩展(我认为它基本上是一个 COM DLL)回调到我的 .NET 应用程序中?或者这是否有点矫枉过正,我应该直接从数据库中读取 Shell Extension 吗?
可能的解决方案?
- 让外壳扩展(图标覆盖处理程序)读取数据库并确定是否显示覆盖。
- 让外壳扩展调用回 .NET 应用程序以确定是否显示覆盖。
我希望这是有道理的,如果没有,我会尝试详细说明。