如何在Windows中的文件夹和文件上右键单击事件添加新项?
我通过向HKEY_CLASSES_ROOT\*添加注册表项,为所有文件添加了自定义右键单击动词.最终结果如下所示
HKEY_CLASSES_ROOT*\壳牌\ TestRightClick\COMMAND
-------默认= c:\ RightClickTest.exe"%1"
问题:当选择多个文件c:\ RightClickTest.exe将被多次调用(所选文件的数量)
我需要的:将多个文件路径传递给一个可执行文件
我怀疑这可能适用于多种编程语言,但在这种情况下,我指的是.NET.
当我使用时System.Diagnostics.Process.Start
,我可以包括一个System.Diagnostics.ProcessStartInfo
对象作为参数.ProcessStartInfo类的一个属性是Verb
(字符串的类型).还有一个string []属性,Verbs
其中似乎包含允许值列表Verb
.
我注意到在Verbs
数组中有一个"Print"值和一个"PrintTo"值.这两者有什么区别?我测试了两者,它们似乎都导致文件打印到我的默认打印机.
我如何开始与相关的文件非默认像"编辑","打印"命令(壳动词),......通过命令行或从.bat脚本,通过使用标准的Windows手段.
(在Windows资源管理器中右键单击文件时,您将获得的额外操作.)
从而获得了效果
python -c "import os;os.startfile('somepic.png', 'edit')"
Run Code Online (Sandbox Code Playgroud)
(ShellExecuteEx),但不使用python,powershell等额外工具.START命令似乎没有提供.
shell-verbs ×3
shell ×2
windows ×2
batch-file ×1
command-line ×1
process ×1
registry ×1
right-click ×1