吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4596|回复: 89
收起左侧

[原创工具] 动态右键菜单功能扩展

  [复制链接]
onlyclxy 发表于 2023-12-5 23:48
本帖最后由 onlyclxy 于 2023-12-13 11:22 编辑

传递多路径到同一程序
可以分别设置显示在文件菜单,目录菜单,文件夹背景菜单,多层级菜单,按扩展名来显示菜单
可直接运行程序,路径,网址,cmd命令
图标可以设置常见图片格式和从任意文件获取图标
自定义传参,比如设置一个参数-k 这个可以分别传给所有的地址
这个主要是为了实现传递选中的多文件的路径到一个程序上.而这个通过注册表是不好实现的.
复制路径到剪贴板功能
打开所在文件夹并且选中文件或目录 (这个本来用explorer select可以实现,但是这个启动新进程会特别慢.所以增加这个功能.)
别的都只是提供一些拓展的可能性,

c#,框架framework4.8.引用sharpshell

更新2023-12-13
添加注册了全部类型.原来好多软件上不出现右键. 现在能支持弹窗的地方都支持了..



更新2023-12-10
1.修复那个OnlyUsingProgram在文件夹背景不能用的问题.
2.增加了个可能是鸡肋的功能,可以增加个弹窗..

"Text": "弹窗",
"ShowInRootMenu": true,  
ProgramPath:"messagebox.show",
Command:"内容,标题",        






更新2023-12-8
1.重构了部分代码.增加给路径添加引号的设置
UseQuotes:true 默认为真,默认会给路径加引号,为假的时候不加引号.
这样子路径用设置加引号. 命令方面可以自己加引号
例:
[Asm] 纯文本查看 复制代码
"ProgramPath":"python.exe",
"Command":"\"C:\\test.py\"",

输出为
python.exe "C:\test.py" "C:\"
或者
[Asm] 纯文本查看 复制代码
        "ProgramPath":"python \"C:\\test.py\"",
        "RunningProgramWithCMD":true,

输出为
python "C:\test.py" "C:\"



更新 2023-12-7
1 路径现在改到添加到所有参数的后面,这样很多命令就正常了. 比如python.exe 显示路径.py 选中路径 这种好几个叠起来的就可以正常运行了.
2.图标现在除了常用图片外,改为获取全部格式的ico图标.就比如你见一个文件是json图标挺好看,你可以把这个json文件的路径填进去,然后就变成了json的图标..
3.增加使用cmd运行命令.这样可以直接在ProgramPath输入命令从而用cmd执行
4.cmd命令的一些拓展,可以隐藏cmd窗口启动,或者保持cmd不关闭.方便各种用途.比如你给文件设置隐藏属性,可能就不需要显示cmd窗口. 比如你要ping ip,就需要保持窗口不要一闪而过.
5.增加菜单分割线
6.增加自检弹窗. 这个可以检测实际运行的命令和路径是否符合预期.
7.增加菜单文本动态显示路径功能.就是那个压缩包.你选中文件点压缩包,会直接显示解压到xxx,或者压缩到xxx. 这个,可以把路径,或者文件名等传给菜单显示
image.png
这个配置文件模板 放到了原始Json文件备份里,名字是MenuConfig_new.json,有兴趣可以改名用这个试试
另外查了查GPT说是win11的多标签获取路径好像弄不了,先这样把.测试这个测试的我要吐啊...


介绍说明:
最早其实是用ffmpeg做视频转换功能的bat,放到右键里,发现只能一个一个转换.不方便批量.
后来写程序,即使能获取参数,但是右键菜单不能一次性传多个路径到程序里.除非程序放到发送到里,发送到可以发送多个路径到一个程序里
但是发送到需要点二级菜单,感觉还是有点不太理想.
然后问了好多人,包括来吾爱这边问问题,最后问到一个大佬给了个c#的方案sharpshell
但是当时也不会c#,也改不了.而且系统的东西.资料少.项目就搁置了没有实际用上
直到上周突然有有需求, 又是想写一个转换图片的功能. 转换功能很快实现了,又卡到右键这里了.然后觉得不能再懒了. 来继续完善这个项目把
于是拿示例里博主的基础代码,改了一个星期.大概改成了自己想要的样子
自己当时相关研究贴:
https://www.52pojie.cn/thread-1710451-2-1.html
https://www.52pojie.cn/thread-1718059-1-1.html

现在是设置了一个json,可以手动改这个json文件,来实现右键菜单的增删

Snipaste_2023-12-05_23-45-09.png

菜单直接用json控制

image.png


多路径带自定义参数传递
image.png

多路径不带参数传递
image.png

可以设置烂七八糟的程序,参数直接复制就行,程序和图标可以直接填路径,或名字
图.jpg

现在的默认配置,供参考

Snipaste_2023-12-05_23-15-53.png
image.png





重要提示,这次这个东西属于生产环节中间的一个的程序. 不是给普通用户用的.因为特别不方便. 需要手动配置json. 我自己都得测试半天..要是json文件配置出错.点菜单会弹窗报错,或者菜单不会显示了. 但是好在做了一个log文件. 部分出错会提示在log文件里.
普通用户的话. 推荐pathcopycopy或者那个Configure FileMenu Tools吾爱都可以搜到,这俩都有界面.
这个东西就是比如你要写一个什么bat,或者写一个什么程序可以接收路径的. 这个就能用上了. 这个东西可以把路径传给你的程序.而且不用你再去设置注册表了.而且方便部署. 你可以把你的程序和这个东西一起打包给人家. 注册一下dll就生效了.
当然你直接运行某个程序也行...



下载地址
右键菜单扩展功能_23-12-13.rar - 蓝奏云 (lanzoul.com)

或者有更新的话会更新到这个文件夹
https://wwz.lanzoul.com/b01xlmxsj
密码:3y71

免费评分

参与人数 13吾爱币 +19 热心值 +12 收起 理由
liuzqm + 1 + 1 我很赞同!
summcat + 1 + 1 我很赞同!
gufengaoyue + 1 + 1 用心讨论,共获提升!
kbhu + 1 我很赞同!
hongfeng + 1 + 1 热心回复!
会飞的花 + 1 + 1 谢谢@Thanks!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
阿拉灯神丁 + 1 + 1 我很赞同!
BonnieRan + 1 + 1 谢谢@Thanks!
lcg2014 + 1 + 1 谢谢@Thanks!
15235109295 + 1 + 1 谢谢@Thanks!
langzqf + 1 + 1 热心回复!
hrpzcf + 1 + 1 鼓励转贴优秀软件安全工具和文档!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

gufengaoyue 发表于 2023-12-7 17:59
本帖最后由 gufengaoyue 于 2023-12-7 18:19 编辑

感谢更新!
但还是有点问题:

                        {
                                "Text": " >>> 检查 Dat 文件 <<<",
                                "ShowInRootMenu": true,
                                "FileTypes": [".dat"],
                                "ProgramPath": "Python.exe",
                                "Command":"D:\\Python\\dat_check.py",
                                "IconPath": "python.exe",
                                "AppendCommandToEachPath": true,
                                "DisplayCompletePathAndCommand":true,                        },

这个路径还是有点问题,运行不了。
正确格式应该是
python.exe "d:\python\dat_check.py" "y:\02_city\11p12\Pan1112.Dat"

但程序执行的是
python.exe "d:\python\dat_check.py y:\02_city\11p12\Pan1112.Dat"
程序把后面两个参数放在同一个双引号里面去了。

如果使用cmd,就会变成:
cmd "python.exe d:\python\dat_check.py y:\02_city\11p12\Pan1112.Dat"
应该是
cmd "python.exe" "d:\python\dat_check.py" "y:\02_city\11p12\Pan1112.Dat"

对exe路径以及传入的文件路径 包一个双引号
================================================================

又试了一下,改成这样是可以的。
只是exe的路径不能有空格。

                        {
                                "Text": " >>> 检查 Dat 文件 <<<",
                                "ShowInRootMenu": true,
                                "FileTypes": [".dat"],
                                "RunningProgramWithCMD":true,
                                "ProgramPath": "Pythonw.exe D:\\Python\\dat_check.py",
                                "IconPath": "python.exe",
        "AppendCommandToEachPath": true,
//                        "DisplayCompletePathAndCommand":true,
                                "HideCmdWindow":true,
                        },


================================================================
 楼主| onlyclxy 发表于 2023-12-7 03:07
gufengaoyue 发表于 2023-12-6 17:15
没事。不急。

可以的话,前面那个自定义参数的先解决。谢谢~

我简单问了下gpt 说是
在Windows 11中,引入了文件夹的多标签功能,这确实改变了获取文件夹背景路径的动态和上下文。对于获取每个标签的文件夹路径,这通常涉及到更深层次的系统集成和可能需要使用Windows API或特定的库。

截至我最后的更新(2023年4月),没有标准的、广泛接受的方法来直接通过公开的API或简单的代码段来获取Windows 11多标签文件夹的每个标签路径。这可能需要深入Windows Shell的内部工作机制,并可能涉及使用未公开或未记录的API。

解决这一挑战的一种方法可能涉及以下几个步骤:

    深入Windows Shell架构:需要对Windows Shell的内部工作有深入的理解,特别是在Windows 11中如何处理多标签界面。

    使用专门的API或库:可能需要使用特定的Windows API,或者依赖第三方库来访问这些信息。

    监听系统消息:在某些情况下,可能需要监听特定的系统消息或事件,以获取当前激活标签的路径信息。

    兼容性和安全性考虑:任何此类实现都需要考虑操作系统版本的兼容性,并确保不会违反用户安全或隐私。

考虑到这是一个相对较新的功能,我建议查看最新的Windows 11开发文档或相关的开发者社区讨论,看是否有最近的更新或共享的解决方案。另外,可以考虑在专门的开发者论坛或社区(如Stack Overflow、Microsoft Developer Network等)询问或搜索此类问题的解决方案。如果微软官方提供了相关的API或文档,那将是获取这些信息的最佳途径。

所以暂时还是先这样.. 测试这个测试的我都要恶心了...
helh0275 发表于 2023-12-6 00:17
感谢分享,但我个人喜欢右键清爽一点点

免费评分

参与人数 1吾爱币 +1 收起 理由
onlyclxy + 1 热心回复!

查看全部评分

天空の幻像 发表于 2023-12-6 00:23
看起来还复杂哈哈

免费评分

参与人数 1吾爱币 +1 收起 理由
onlyclxy + 1 热心回复!

查看全部评分

liulued 发表于 2023-12-6 01:16
感谢分享,非常有用

免费评分

参与人数 1吾爱币 +1 收起 理由
onlyclxy + 1 我很赞同!

查看全部评分

 楼主| onlyclxy 发表于 2023-12-6 01:47

可不..我自己都测试研究半天...
 楼主| onlyclxy 发表于 2023-12-6 02:01
helh0275 发表于 2023-12-6 00:17
感谢分享,但我个人喜欢右键清爽一点点

我也是...还是看的少的比较得劲..
但是上班用的东西多.. 就还是以干活为主了
rainord 发表于 2023-12-6 02:20
好东西,谢谢分享
yinuo2012 发表于 2023-12-6 06:32
右键菜单还是精简一点舒服,保留常用的功能就好。
baoqingzxc 发表于 2023-12-6 06:59
还是喜欢这种精简的右键菜单,感谢楼主分享!
huaihuaivip 发表于 2023-12-6 07:09
支持楼主,感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 提醒:禁止复制他人回复等『恶意灌水』行为,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-29 04:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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