Delphi在Windows资源管理器中右键单击添加菜单项
Posted
技术标签:
【中文标题】Delphi在Windows资源管理器中右键单击添加菜单项【英文标题】:Delphi add menu item in Windows Explorer right click 【发布时间】:2012-01-01 05:28:54 【问题描述】:如何在 Windows 资源管理器中为所有类型的文件扩展名添加右键上下文菜单?
根据我在互联网上阅读的内容,我阅读了一种针对某些文件扩展名执行此操作的方法。
我的问题,我们如何为所有类型的文件扩展名做到这一点?
我看到一些软件是这样做的,例如:WinRar、Notepad++等
PS:我的目标是 Delphi 7.0 兼容代码。
谢谢。
【问题讨论】:
【参考方案1】:最简单的方法是添加这样的注册表项:
HKEY_CLASSES_ROOT
*
shell
YourAppName
Command C:\Full\Path\To\Your\App.exe "%1"
当用户单击此菜单项时,您的应用程序将被执行并将文件名作为第一个命令行参数传递。
虽然您可以为此编写一个 shell 扩展,但这更加困难。此外,如果您使用的是 Delphi 7,那么您将无法为 64 位 Windows 编写 shell 扩展。
【讨论】:
值得注意的是:我一直在寻找一种同时适用于多个文件的解决方案。此解决方案按预期工作 - 当您选择几个文件并右键单击时,您会得到“YourAppName” - 命令将为每个文件运行。【参考方案2】:在 "HKEY_CLASSES_ROOT\*\shell" 添加键 "open with my app" 然后添加 "command" 并将默认 (REG_SZ) 设置为您要运行的 (%1 参数 - 文件名)
【讨论】:
以上是关于Delphi在Windows资源管理器中右键单击添加菜单项的主要内容,如果未能解决你的问题,请参考以下文章
当我在 Visual Studio 2017 的解决方案资源管理器中右键单击 Web 项目时,无法将添加->现有项目视为 Azure Web 作业选项
我将我的 C# 程序添加到 Windows 注册表中如何获取我在代码中右键单击的文件?