目前的情况是:
选中单个文件后传递选中的文件名到我的程序
选中多个文件后运行多个程序并每个程序附带一个文件名参数
选中文件夹后无这个菜单选项
选中文件与文件夹后无这个菜单选项
如何实现
一次性传递多个文件 /文件夹名到单个我的程序
单个文件 /文件夹的话不显示菜单选项
1
geelaw 2018-05-01 03:49:51 +08:00 via iPhone 2
我建议你购买微软的开发者技术支持,499 USD 一个问题,或者 1999 USD 五个问题。
简单的搜索就能有答案,你真的不会觉得钱太好赚了吗?用金钱可以让人懂得提问之前需要自己付出一些 effort。 一般的 context menu 的介绍 https://msdn.microsoft.com/en-us/library/windows/desktop/cc144169(v=vs.85).aspx 你需要一个 verb,如何选择 static 还是 dynamic,选择哪种 dynamic,这里是介绍 https://msdn.microsoft.com/en-us/library/windows/desktop/dd758091(v=vs.85).aspx 你需要 dynamic,根据文档的介绍,最简单的、满足你的需要的方式是使用 IExplorerCommanf 接口,这里是实现规范 https://msdn.microsoft.com/en-us/library/windows/desktop/bb761880(v=vs.85).aspx |
2
kokutou 2018-05-01 07:36:53 +08:00 via Android
去翻 7-zip 的源码。。。
|
3
zmj1316 2018-05-01 08:13:29 +08:00 via Android
应该是改注册表让系统传参数的 直接上 MSDN 看看?
|
4
geelaw 2018-05-01 09:40:07 +08:00
My apologise 因为头像是 hash 生成的所以看错发帖人,以为是同一个人连续问了好几个问题。
|
5
konecos OP @zmj1316 的确通过修改注册表达到了一开始说的情况,但是无法达成我的目的,已通过搜索引擎都搜索了,基本上找不到有用的方法,有搜索到的一条解决办法是让多个开启的程序进行互相通讯然后传达参数到第二个程序
|
6
goreliu 2018-05-01 13:47:23 +08:00
这种比较复杂的场景得写 dll,写注册表的话应该是不行的。
|
7
imn1 2018-05-01 14:27:23 +08:00
右键 -> 单个 F,多个 T
这种需求只能自写吧? 如果我有你上述需求的话,我会在 TC 工具栏弄个自定义按钮 文件夹右键注册表项是:HKEY_CLASSES_ROOT\Directory\shell\自己添加的程序 自己搜搜 |
8
Arnie97 2018-05-01 20:36:19 +08:00 via Android
HKCR 里面文件夹相关的有 Directory,Drive 和 Folder ;另外,还有简单粗暴的 shell:sendto。
但是要区分一个还是多个恐怕要用 DLL。 |