只为特定的文件types添加菜单项到Windows上下文菜单
我已经开发了一个应用程序,使用窗口的上下文菜单加载一个图像(右键单击该文件),目前正在工作,但registry项已打开
HKEY_CLASSES_ROOT\*
它适用于所有文件。
我希望上下文菜单上的菜单项只能用.jpg文件显示。
我能做到这一点? 我应该使用哪个registry项?
提前致谢。
1)确定.jpg文件的文件types(ProgID)
这可以通过检查HKEY_CLASSES_ROOT\.jpg
的默认值来完成。 它可以是基于你所安装的任何东西,但为了这个例子的目的,我们将其称为jpegfile
,一个常见的默认值。
2)设置该文件types的上下文菜单项(动词)属性
您可以在HKEY_CURRENT_USER\Software\Classes\jpegfile\shell
设置每个用户的上下文菜单项。 这个键有一个文件types的动词列表。 在HKEY_LOCAL_MACHINE\Software\Classes\jpegfile\shell
有一个类似的键,这些是文件types的系统默认值。 你也可以在那里放一个动词键,但如果HKCU中存在相同的键,它将被覆盖,所以build议。
3)设置命令值
要使其起作用的最小键值是command
子键的默认值。 你需要设置你的应用程序的path,如下所示: HKEY_CURRENT_USER\Software\Classes\jpegfile\shell\open_with_myapp\command
将被设置为"c:\path\to\myapp.exe" "%1"
。 现在,.jpg文件的上下文菜单将包含一个“open_with_myapp”项目,该项目将在单击时启动您的应用程序,并将所选文件的文件名称作为parameter passing。 当然,您的应用程序如何处理参数取决于您,所以您需要将参数string设置为应用程序可以处理的内容。
4)设置其他的动词属性
我想你可能会想要上下文菜单项阅读一些比关键的名字更友好点。 您可以通过设置该键的默认值( open_with_myapp
),使上下文菜单显示您想要的项目的任何标签。
这是您的基本概述。 肯定检查我的答案这个问题关于文件,它有一个类似的答案:
- 创buildregistry项以将文件扩展名与C ++中的应用程序相关联