我想在Windows资源管理器内容菜单(对于所有文件类型)中创建菜单项,单击后将打开我的应用程序并将选定的文件名传递给它。有没有这方面的教程?我知道有ShellPlus组件可用,但它有点过时了。
答案 0 :(得分:7)
<强>注册表强>
这个方法很简单,因为它归结为添加一些注册表项。缺点是你不能在其中加入任何逻辑。你可以在Delphi中阅读它here和here这个简单的例子。如果使用DDE执行菜单项,则可以获得更多控制权。有关Delphi示例,请参阅here。
外壳扩展
此方法稍微有些工作,但您可以从代码中完全控制上下文菜单。您必须编写DLL,实现IContextMenu(或其他)并使用Windows资源管理器注册dll。你可以阅读它here。您已经提到了Shell+。
答案 1 :(得分:2)
Delphi包含一个shell扩展的演示项目。查看 Demos \ ActiveX \ ShellExt 文件夹。
答案 2 :(得分:0)
通过在注册表中为所需的文件类型设置快捷菜单处理程序,可以从编程语言中独立使用。在那里,您可以使用正确的路径,正确的选项和正确的文件占位符来调用您的应用程序。
有关详细信息,请参阅Creating Shortcut Menu Handlers上的MSDN文章。