如何捕获右键点击的文件?实现右键菜单文件移动工具的技术问询
捕获右键菜单目标文件的可行方案
- 用
string[] args完全没问题,这是Windows传递右键选中文件的标准途径- 配置右键菜单注册表时,把命令行设为你的工具路径加参数
"%*"(支持多选文件)或"%1"(单个文件)。比如在HKEY_CLASSES_ROOT\*\shell\MoveToTarget\command的默认值填:"D:\YourTool.exe" "%*",Windows会自动把选中的文件路径作为命令行参数传给程序 - 你的工具代码里直接遍历
args数组就行,每个元素就是一个选中文件的完整路径,完全不需要全局钩子那种复杂方案
- 配置右键菜单注册表时,把命令行设为你的工具路径加参数
- 开发灵感可以这么找:
- 参考系统自带的「发送到」功能原理,它本质也是通过命令行参数传递文件,和你的需求逻辑一致
- 先写个极简测试程序:把
args里的内容打印出来,右键选几个文件运行工具,就能直观看到参数传递效果,快速验证逻辑 - 针对照片整理场景,还可以加额外逻辑:比如读取照片的EXIF信息获取拍摄日期,自动按日期分类到子文件夹,让工具更实用
内容的提问来源于stack exchange,提问作者MBO
相关产品推荐
相关产品推荐

