首页 新闻 会员 周边

C#添加Windows右键二级菜单及事件

0
悬赏园豆:100 [已解决问题] 解决于 2014-03-12 23:27

类似7Zip、SVN、Git之类的右键菜单,有子菜单并且需要触发相应的事件,

问题补充:

請大牛幫忙,急!!!

到最后的主页 到最后 | 初学一级 | 园豆:121
提问于:2014-02-28 14:17
< >
分享
最佳答案
0
收获园豆:100
Launcher | 高人七级 |园豆:45045 | 2014-02-28 14:22

感谢,但是不是我想要的,我需要实现Windows右键二级菜单及事件,你提供的只能是第一级菜单,这个比较好实现

到最后 | 园豆:121 (初学一级) | 2014-03-01 08:48

@到最后: 那你给你个完整的吧:http://www.99inf.net/SoftwareDev/VC/39758.htm

Launcher | 园豆:45045 (高人七级) | 2014-03-03 09:55

@Launcher: 非常感谢,但是我要C#的,而已是二级菜单哦

到最后 | 园豆:121 (初学一级) | 2014-03-05 23:27

@到最后: 注意这句代码:

::InsertMenu(hMenu,indexMenu,MF_STRING | MF_BYPOSITION,idCmdFirst,IDM_REG_MNU_TXT);

http://msdn.microsoft.com/en-us/library/windows/desktop/ms647987(v=vs.85).aspx

你可以用 CreateMenu 创建一个新的菜单项,然后将其设置为 InsertMenu 的第四个入参,那么就表示插入子菜单,也就是你想要的二级菜单。不论是你这里的需求,还是普通的桌面窗体程序,创建任何菜单都是使用此 API,跟是否是二级没关系。

关于 C# Shell 编程你可以参考这里:http://blog.csdn.net/luanmad/article/details/2850049

Launcher | 园豆:45045 (高人七级) | 2014-03-06 09:23
其他回答(1)
0

这个是通过修改注册表办到的

例如

[HKEY_CLASSES_ROOT\*\shell\copypath]
@="复制全路径"
[HKEY_CLASSES_ROOT\*\shell\copypath\command]
@="mshta vbscript:clipboarddata.setdata(\"text\",\"%1\")(close)"

簡單のBug | 园豆:202 (菜鸟二级) | 2014-03-03 16:31

一级菜单不是我想要的,谢谢

支持(0) 反对(0) 到最后 | 园豆:121 (初学一级) | 2014-03-05 23:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册