我正在寻找一些在 C++ Builder 2010 中编写 shell 扩展的示例(2007 和 2009 也可能是相关的),因此我可以右键单击资源管理器中的文件并在我的 VCL 程序中获取文件路径。
我遵循了Clayton Todd 的教程,但它是从 2001 年开始的,我在让它工作时遇到了一些麻烦。我无法让它调用我的方法(初始化、QueryContextMenu 等)。
我正在寻找一些在 C++ Builder 2010 中编写 shell 扩展的示例(2007 和 2009 也可能是相关的),因此我可以右键单击资源管理器中的文件并在我的 VCL 程序中获取文件路径。
我遵循了Clayton Todd 的教程,但它是从 2001 年开始的,我在让它工作时遇到了一些麻烦。我无法让它调用我的方法(初始化、QueryContextMenu 等)。
多年来,Delphi 和 C++ Builder 已经包含了一个示例项目(在 ActiveX\ShellExt 中),该项目将“编译”项添加到项目文件的上下文菜单中。你应该从那开始。另请阅读有关如何创建上下文菜单处理程序的 MSDN 讨论。
总的来说,我建议不要在你的 shell 扩展中使用太多的 VCL。保持小。它要做的就是实现基本IContextMenu
方法,然后将它收集的文件名发送到您的主程序。
如果您已经按照教程阅读了文档并且您的某些方法仍然没有被调用,那么请进行一些调试以找出原因。问问自己:正在调用哪些函数?DLL 是否被加载?