Sei*_*aft 40 registry windows-xp contextmenu
我开发了一个应用程序,使用窗口的上下文菜单加载图像(右键单击文件),暂时正在工作,但是reg键是打开的
HKEY_CLASSES_ROOT\*
Run Code Online (Sandbox Code Playgroud)
它适用于所有文件.
我希望上下文菜单中的菜单项只能显示.jpg文件.
我能做到的是什么?我应该使用哪些注册表项?
提前致谢.
Fac*_*tic 81
1)识别.jpg文件的文件类型(ProgID)
这可以通过检查默认值来完成HKEY_CLASSES_ROOT\.jpg.它可以是基于您安装的内容的任何内容,但出于本示例的目的,我们将其jpegfile称为常见默认值.
2)设置该文件类型的上下文菜单项(动词)属性
您可以设置每用户上下文菜单项HKEY_CURRENT_USER\Software\Classes\jpegfile\shell.此键具有文件类型的动词列表.有一个类似的键HKEY_LOCAL_MACHINE\Software\Classes\jpegfile\shell,这些是文件类型的系统默认值.您也可以在其中放置一个动词键,但如果HKCU中存在相同的键,它将被覆盖,因此请注意.
3)设置命令值
为使其工作而需要设置的最小键值是command子键的默认值.您需要使用应用程序的路径设置它,如下所示:HKEY_CURRENT_USER\Software\Classes\jpegfile\shell\open_with_myapp\command将设置为"c:\path\to\myapp.exe" "%1".现在,.jpg文件的上下文菜单将有一个"open_with_myapp"项,该项将在单击时启动您的应用,并将所选文件的文件名作为参数传递.当然,您的应用程序如何处理参数取决于您,因此您需要将参数字符串设置为您的应用可以处理的内容.
4)设置其他动词属性
我想你可能会希望上下文菜单项读取比键名更友好的东西.您可以通过设置该键的默认值(open_with_myapp)来让上下文菜单显示您想要的项目标签.
这是你的基本概述.绝对查看我关于关联文件的问题的答案,该文件有类似的答案:
and*_*947 21
注册表中的另一个密钥与用户的默认程序无关:HKEY_CLASSES_ROOT\SystemFileAssociations.由于没有人在这个问题上提到它...在添加上下文菜单项之前无需检查ProgID.例:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\SystemFileAssociations\.mkv\shell\subtitle]
@="Search subtitles..."
[HKEY_CLASSES_ROOT\SystemFileAssociations\.mkv\shell\subtitle\command]
@="\"D:\\Tools\\subsearch.exe\" \"%1\""
Run Code Online (Sandbox Code Playgroud)
参考:https://docs.microsoft.com/en-us/windows/desktop/shell/app-registration#registering-verbs-and-other-file-association-information
| 归档时间: |
|
| 查看次数: |
41544 次 |
| 最近记录: |