有关的:
如何将程序添加到所有文件的上下文菜单中?
如何在 Windows 7 中向自定义上下文菜单项添加图标?
第一个链接的问题涵盖了如何为所有文件添加自定义上下文菜单选项。这已在 Windows XP 和 Windows 7 中进行了测试。第二个问题是关于在该菜单项旁边添加一个图标。提供的答案在 Windows 7 中有效,但奇怪的是,在 Windows XP 中无效。由于该问题被标记为Windows 7的,而且由于 XP 似乎是这方面的一个奇怪的例外,所以我认为我应该将这个问题单独提出来。
我知道这在 Windows XP 中应该是可以实现的,因为 Notepad++、WinZip 和一些防病毒应用程序等程序的图标都在上下文菜单中。但是,它们的上下文菜单项似乎是注册表项路径(或一系列项)的一部分,而我对此并不熟悉。
所以我想知道如何使用此处第一个链接线程中的方法将图标添加到创建的上下文菜单项?或者,如果这是不可能的(或不合适的),那么创建类似于我给出的示例的菜单项的“正确”方法是什么?
答案1
这些菜单项是从 shell 扩展创建的,这些扩展是基于 COM 的 dll。对于不熟悉的注册表项,您可能指的是 COM 类注册和相关的 GUID。
编写 shell 扩展需要编程知识,并且具有一定的性能开销,因为必须将你的库加载到每个显示此类上下文菜单的应用程序中。
可能可以创建一个读取Icon
注册表项的单个 shell 扩展,从而启用类似 Win7 的行为。
我不知道在 WinXP 中是否有一种简单的、内置的、声明性的方法可以做到这一点。