tk_*_*tk_ 5 windows registry contextmenu windows-shell
我已经添加了右键单击选项,以使用我的c ++程序打开文件:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\Open With MyProgram]
"Icon"="\"C:\\Program Files (x86)\\myProgram.exe\""
[HKEY_CLASSES_ROOT\*\shell\Open With MyProgram\command]
@="\"C:\\Program Files (x86)\\myProgram.exe\" \"%1\""
Run Code Online (Sandbox Code Playgroud)
这很好。当我选择15个以上的文件时,右键单击选项将消失。我已经阅读了有关MultipleInvokePromptMinimum的以下方法:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
"MultipleInvokePromptMinimum"=dword:00001388
Run Code Online (Sandbox Code Playgroud)
这样就可以完成工作,唯一的问题是我不想为15个以上的文件(我的自定义文件)启用其他“打开”或“打印”右键单击选项。
(例如,在不更改MultipleInvokePromptMinimum的情况下,为15个以上的文件启用了“使用Notepad ++编辑”右键单击选项)
什么是实现这一目标的最佳方法?提前致谢。
MultiSelectModel正如您已经从评论中发现的那样,一个普通的静态动词有一个限制,可以通过设置to将其提高到 100 player。Explorer 只允许基于 COM 的 shell 扩展超出此限制。
您可以实现多种类型的 shell 扩展,具体取决于您支持的最低 Windows 版本:
IExecuteCommand工作量最少,但仅适用于 Windows 7 及更高版本。教程/示例可以在这里找到。
IDropTarget需要完整的 COM 服务器,但可以在 Windows XP 及更高版本上运行。教程/示例可以在这里找到。
IContextMenu注册下ShellEx\ContextMenuHandlers适用于每个 Windows 版本,但这些旧系统上不存在选择限制,因此无需在您的情况下实现此操作。
建议您使用 C/C++ 或 Delphi 编写扩展,而不是使用 C# 等 .NET 语言(这是建议或要求,具体取决于 Windows 和 .NET 版本)。
| 归档时间: |
|
| 查看次数: |
636 次 |
| 最近记录: |