注册表和COM编程
在注册表中右键菜单的项目都包含在第一子项 HKEY_CALSS_ROOT 中。展开该项,第一个子项一般是 * ,这个统配符表示一切后缀的文件都通用。也就是说,这个子项中的一切右键菜单项,没有特别说明,会出现每一个文件的右键菜单中。
再比如.html项,就是这个项分管以.html后缀结尾的文件的右键菜单。
在一个子项的其内部,所有的右键菜单分为两部分存储
shell:可通过shell子项编辑注册表的项值实现一些简单的右键功能。
对shell项的修改:
增加子项,键的名字就会是右键菜单项的显示名字。
在该子项中增加command项,数据中填入字符串值是cmd命令。如果是多行cmd命令的执行需要编写一个bat脚本,然后调用此bat脚本即可。
"D:\Environment\Python36\python.exe" "%1" %*
shellex:键名称是一串***的,***是COM ID,在注册表中可以将一个COM组件的dll和一个COM ID联系到一起。通过COM编程实现一些复杂的右键功能。
编写可以参考
https://blog.csdn.net/qq_41786318/article/details/79814986
文件夹,文件夹分为两类菜单,一类是鼠标指向一个文件夹图标时,点击右键出来的菜单;第二类菜单时鼠标在已经打开的文件夹窗口的空白处,点击右键弹出的菜单。如下图所示,第一类菜单的注册表项直接在 Directory 下,shell和shellex\ContextMenuHandlers 里面;第二类菜单则在子项 Background 里面。
Directory:鼠标指向一个文件夹图标时,点击右键出来的菜单
–BackGround子项:在已经打开的文件夹窗口的空白处,点击右键弹出的菜单
DesktopBackground:桌面空白处菜单。注意这里的菜单项不全,因为还包括在文件夹空白处那项的结果。
Drive:驱动器
Folder:文件夹
fontfile:字体文件
shellex项的修改:
COM是一组接口规范,尽管不是所有的dll都是COM组件,但是如果它是一个COM组件,就可以拥有一个唯一的ID。
按我的理解,COM层在.NET的下面,给.NET/C#提供了一组标准函数库调用
制作一个折叠的子菜单组
1.MUIVerb的值要以&开头作为子菜单的名字
2.需要Subcommands项
https://blog.csdn.net/CrowNAir/article/details/78128566
上一篇: TensorFlow入门(1)
下一篇: G1Introduct_cn
推荐阅读
-
注册表和COM编程
-
函数句柄和指针的区别是什么 博客分类: 数据结构 apiwindows数据结构编程
-
使用C#和DirectX实时监控麦克风输入音量 博客分类: 多媒体编程 CC++C#MicrosoftXP
-
Apache Geode 基本的配置和编程 博客分类: 框架Apache Geode
-
滴滴出行2017秋招笔试真题-编程题汇总 [编程题]数字和为sum的方法数
-
Shell 编程之规范和变量
-
并发编程——彻底掌握CountDownLatch,CyclicBarrier和Semaphore
-
浅析Java编程中类和对象的定义
-
Java基础-网络编程(概述、网络模型、TCP和UDP)
-
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析