Windows 如何向特定文件扩展名上下文菜单添加新项
如何将新项目添加到特定的文件扩展名上下文菜单(例如,添加到.mp3文件) 我还注意到,在所有窗口的上下文菜单中都有公共项,它们是否都共享/继承一个上下文菜单?它在哪里:哪一个是文本 调用什么样的键以及如何生成它们(例如{11dbb47c-a525-400b-9e80-a54615a090c0}) 另外,您是否会推荐一份关于注册中心的简要参考资料Windows 如何向特定文件扩展名上下文菜单添加新项,windows,window,registry,Windows,Window,Registry,如何将新项目添加到特定的文件扩展名上下文菜单(例如,添加到.mp3文件) 我还注意到,在所有窗口的上下文菜单中都有公共项,它们是否都共享/继承一个上下文菜单?它在哪里:哪一个是文本 调用什么样的键以及如何生成它们(例如{11dbb47c-a525-400b-9e80-a54615a090c0}) 另外,您是否会推荐一份关于注册中心的简要参考资料 在运行对话框或开始菜单搜索框中键入regedit,然后按Enter键。它将打开注册表编辑器,现在转到以下键: HKEY\U CLASSES\U ROOT
- 右键单击“Shell”键并选择“New->key”
- 给它起个名字吧。假设我们给它命名为“Demo”
- 现在在右侧窗格中,双击“默认”字符串值并将其值设置为要在上下文菜单中显示的标签。比如,若你们想在上下文菜单中添加“Winamp”,那个么你们可以给它命名为“用Winamp打开”或者类似的名字
- 现在,在这个新创建的键“Demo”下创建另一个名为“command”的键,并在右侧窗格中设置应用程序路径的“Default”值。对于ex,对于winamp,您可以设置其值
%programfiles%\winamp\winamp.exe
HKCR\*
注册表项。尽量少用,这对用户来说很烦人
例如{11dbb47c-a525-400b-9e80-a54615a090c0}
这是一个自定义shell扩展处理程序的示例,您可以在HKCR\Folder
注册表项中找到它,该注册表项用于向任何目录添加项目。可以把它看作是一个插件,它为Explorer添加了自己没有的功能。{guid}选择资源管理器加载以实现该项的可执行文件。导航到HKCR\Classes\CLSID\{guid}
要查看该文件,您将看到它是由c:\windows\system32\explorerframe.dll实现的
<>编写自己的shell扩展处理程序并不容易,它需要C++中的COM编码技巧。一种越来越模糊的编码技术。使用C#之类的东西在技术上是可行的,但微软强烈反对,他们不会支持。您需要编写一个进程内COM服务器来实现
IContextMenu
接口。编程指南。@AndrewxXx您到底想做什么?你是在寻找一个注册表技巧,让你的应用程序成为一个处理器,还是你在寻找一个实际的上下文菜单处理器?不只是C++,你可以在几分钟内用COM Delphi编写COM的东西。