首页
社区
课程
招聘
[求助]系统右键菜单如何获取?不是添加一项,这个有难度
发表于: 2009-2-4 12:57 6685

[求助]系统右键菜单如何获取?不是添加一项,这个有难度

2009-2-4 12:57
6685

晚上找来一圈,没找到
我是想要获取鼠标右键后里面的所有菜单
比如,打开,删除,等等,因为我的程序里面想到系统菜单,大侠指点一下迷津吧
不是在右键里加一个噢,是获取所有的。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 7
支持
分享
最新回复 (5)
雪    币: 196
活跃值: (135)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
2
1. 先用父目录的IShellFolder接口调用GetUIObjectOf(...)函数,传入特定对象的PIDL获得其的 IContextMenu接口的指针spContextMenu.
2.用CreatePopupMenu(...)函数创建一个HMENU  hPopUpMenu;
3.用spContextMenu->QueryContextMenu(hPopUpMenu,.....);
经过第三步,所有菜单都已经被获得了,然后调用
int idCmd = ::TrackPopupMenu(hPopUpMenu, TPM_RETURNCMD | ...,....);
即可弹出菜单且得到被点中的菜单项.最后调用
spContextMenu->InvokeCommand(...);来处理相应命令即可!
2009-2-4 13:18
0
雪    币: 230
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这些函数都没用到过,请问2楼主有例程吗?
你的回答应该是对的,我网上找来好一圈来,你的答案最符合我的要求。
如果没有例程的话,下班后去看看文档,有的话最好能给我一份,谢谢
yc-hyf@live.cn
再次感谢。这么快就给了思路
2009-2-4 13:23
0
雪    币: 196
活跃值: (135)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
4
这是属于Windows Shell扩展编程,找相关的资料就可以了.
另外WTL8.0中有个例子刚好符合你的要求, WTLExplorer:
上传的附件:
2009-2-4 13:43
0
雪    币: 230
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
工程是08的建立的么,我05打不开,正在看代码
2009-2-4 22:59
0
雪    币: 196
活跃值: (135)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
6
是08的工程
2009-2-5 08:30
0
游客
登录 | 注册 方可回帖
返回
//