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