开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2628|回复: 16
收起左侧

[易源码分享] 创建桌面鼠标右键菜单SP,同时支持单级多级

[复制链接]
结帖率:100% (1/1)
发表于 2023-3-2 23:12:38 | 显示全部楼层 |阅读模式   湖北省武汉市
分享源码
界面截图:
是否带模块: 调用了模块
备注说明: -
  
窗口程序集名保 留  保 留备 注
桌面右键菜单   
变量名类 型数组备 注
注册表注册表操作Ex  

子程序名返回值类型公开备 注
桌面右键菜单_创建SP整数型 成功返回空,失败返回失败原因
参数名类 型参考可空数组备 注
主菜单名文本型桌面右键显示的菜单名
主菜单软件路径文本型创建一级菜单如不填写,点击菜单会报错,创建二级菜单时此参数无效
二级菜单名称文本型二级菜单的显示名称数组
二级软件路径文本型二级菜单点击后打开的软件路径,数组最大长度为二级菜单的数量
主菜单图标字节集菜单的图标
二级菜单图标字节集二级菜单的图标
变量名类 型静态数组备 注
i整数型 
二级菜单数量整数型 
SubCommands关联项文本型SubCommands项的字符串值,以分号“;”隔开,用于主菜单与二级菜单相关联
判断 (取数组成员数 (二级菜单名称) = 0)  ' 只创建一级
注册表.写入键值Ex_文本 ( #HKEY_CLASSES_ROOT, “Directory\Background\shell\” + 主菜单名, “Icon”, 主菜单图标, #REG_SZ, )  ' //菜单图标
返回 (注册表.写入键值Ex_文本 ( #HKEY_CLASSES_ROOT, “Directory\Background\shell\” + 主菜单名 + “\command\”, “”, 到字节集 (主菜单软件路径), #REG_SZ, ))  ' //菜单点击后打开的软件路径



判断 (取数组成员数 (二级菜单名称)取数组成员数 (二级软件路径))
返回 (110)  ' 二级菜单软件路径与二级菜单名称 的 数组长度不一致!!



二级菜单数量 = 取数组成员数 (二级菜单名称)
重定义数组 (二级菜单图标, 真, 二级菜单数量)
变量循环首 (1, 二级菜单数量, 1, i)
' //第一步
注册表.写入键值Ex_文本 ( #HKEY_LOCAL_MACHINE, “SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\desm_MyMenu”到文本 (i), “Icon”, 二级菜单图标 [i], #REG_SZ, )  ' //二级菜单图标
注册表.写入键值Ex_文本 ( #HKEY_LOCAL_MACHINE, “SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\desm_MyMenu”到文本 (i), “”, 到字节集 (二级菜单名称 [i]), #REG_SZ, )  ' //二级菜单名称(默认项)
注册表.写入键值Ex_文本 ( #HKEY_LOCAL_MACHINE, “SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\desm_MyMenu”到文本 (i)“\command”, “”, 到字节集 (二级软件路径 [i]), #REG_SZ, )  ' //二级菜单点击后打开的软件路径
SubCommands关联项 = SubCommands关联项 + “desm_MyMenu”到文本 (i)“;”
变量循环尾 ()
' //第二步
注册表.写入键值Ex_文本 ( #HKEY_CLASSES_ROOT, “Directory\Background\shell\” + 主菜单名, “Icon”, 主菜单图标, #REG_SZ, )  ' //首级菜单图标
返回 (注册表.写入键值Ex_文本 ( #HKEY_CLASSES_ROOT, “Directory\Background\shell\” + 主菜单名, “SubCommands”, 到字节集 (SubCommands关联项), #REG_SZ, ))  ' //二级菜单链接(单个:mune1; 多个:menu1;menu2;menu3;...)


子程序名返回值类型公开备 注
桌面右键菜单_删除 用户删除桌面右键菜单,会同时删除主菜单名关联的二级菜单
参数名类 型参考可空数组备 注
主菜单名文本型桌面右键显示的菜单名
变量名类 型静态数组备 注
rev注册表_键 
关联的二级菜单项目文本型0
i整数型 
注册表.打开键Ex ( #HKEY_CLASSES_ROOT, “Directory\Background\shell\” + 主菜单名)
注册表.读取键值Ex ( #HKEY_CLASSES_ROOT, “Directory\Background\shell\” + 主菜单名, “SubCommands”, rev)
注册表.关闭键Ex ()
关联的二级菜单项目 = 分割文本 (字节集_到文本 (rev.键值), “;”, )  ' 二级菜单名称数组
如果真 (取数组成员数 (关联的二级菜单项目) > 0)  ' SubCommands有值,说明是二级菜单
变量循环首 (1, 取数组成员数 (关联的二级菜单项目), 1, i)
注册表.删除注册表项 ( #HKEY_LOCAL_MACHINE, “SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\” + 关联的二级菜单项目 [i]“\command”)  ' 经实测,需先删除commad,不然无法删除键值
注册表.删除注册表项 ( #HKEY_LOCAL_MACHINE, “SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\” + 关联的二级菜单项目 [i])
变量循环尾 ()
注册表.关闭键Ex ()
注册表.删除注册表项 ( #HKEY_CLASSES_ROOT, “Directory\Background\shell\” + 主菜单名 + “\command”)
注册表.删除注册表项 ( #HKEY_CLASSES_ROOT, “Directory\Background\shell\” + 主菜单名)

桌面右键菜单_多级.e

954.11 KB, 下载次数: 38, 下载积分: 精币 -2 枚

评分

参与人数 3好评 +3 精币 +7 收起 理由
易语言资源网 + 1 + 3 开源精神必须支持~
熬夜 + 1 + 1 开源精神必须支持~
冰点 + 1 + 3 感谢分享,很给力!~

查看全部评分


本帖被以下淘专辑推荐:

结帖率:86% (6/7)
发表于 2023-8-17 14:41:15 | 显示全部楼层   上海市上海市
开源精神必须支持~
回复 支持 反对

使用道具 举报

签到天数: 4 天

发表于 2023-3-24 15:36:19 | 显示全部楼层   广东省深圳市
感谢分享
回复 支持 反对

使用道具 举报

签到天数: 2 天

发表于 2023-3-10 13:06:58 | 显示全部楼层   辽宁省大连市
#在这里快速回复#        开源精神必须支持~
回复 支持 反对

使用道具 举报

结帖率:70% (7/10)

签到天数: 29 天

发表于 2023-3-5 00:48:12 | 显示全部楼层   河南省焦作市

感谢分享 支持开源 !
回复 支持 反对

使用道具 举报

结帖率:33% (1/3)
发表于 2023-3-4 18:49:38 | 显示全部楼层   广东省深圳市
        感谢分享,很给力!~
回复 支持 反对

使用道具 举报

发表于 2023-3-4 11:04:05 | 显示全部楼层   广西壮族自治区南宁市
感谢分享,很给力
回复 支持 反对

使用道具 举报

发表于 2023-3-3 21:43:20 | 显示全部楼层   江苏省连云港市
谢谢分享
回复 支持 反对

使用道具 举报

结帖率:0% (0/2)

签到天数: 25 天

发表于 2023-3-3 21:38:21 | 显示全部楼层   广西壮族自治区玉林市
感谢分享,很给力
回复 支持 反对

使用道具 举报

结帖率:80% (56/70)

签到天数: 24 天

发表于 2023-3-3 19:35:13 | 显示全部楼层   广东省深圳市
开源精神必须支持~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表