|IContextMenu第一部分:基本介绍( 二 )
在上面的代码中 , 首先我们创建 IContextMenu , 然后通过调用
IContextMenu::QueryContextMenu 对其进行初始化 。请注意 , 即使我们不打算显示菜单 , 我们仍然需要创建一个弹出菜单 , 因为 IContextMenu::QueryContextMenu 需要打开 。然而 , 我们实际上并没有显示结果菜单; 我们不是要求用户从菜单中选择一个项目 , 而是为用户做出选择并选择“播放” , 填充 CMINVOKECOMMANDINFO 结构并调用它 。
但是我们怎么知道正确的动作是“播放”呢? 在这种情况下 , 我们知道是因为我们将文件硬编码为“clock.avi” , 并且我们知道 AVI 文件有一个“播放”动作 。但当然 , 这在一般情况下是行不通的 。在开始调用默认动作之前 , 让我们先采取更简单的步骤 , 询问用户要调用什么动作 。
如果上面的代码就是你真正想要的(在文件上调用一个固定的动作) , 那么你不需要浏览所有上下文菜单的东西 。上面的代码等效于调用 ShellExecuteEx 函数 , 即传递 SEE_MASK_INVOKEIDLIST 标志并指示你希望调用IContextMenu的相关方法 。
总结【|IContextMenu第一部分:基本介绍】通过本文 , 我们应该可以基本了解IContextMenu的用法 。 后续会继续关注这一主题 。
最后Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一 , 里面有很多关于Windows的小知识 , 对于广大Windows平台开发者来说 , 确实十分有帮助 。
本文来自:《How to host an IContextMenu part 1 – Initial foray》
- 汽油|今日24时开启!油价或迎年内第2降 重回9元时代:加一箱将少花12.5元
- 第四大运营商|第四大运营商登场!中国广电官网上线:开启选号
- 油价|年内第十涨后 油价或将迎下调:会持续降价吗?专家回应
- 古代五个不可思议的科技产品,第四个看了谁不骄傲!
- 华为|中国第二家“华为”诞生,国产品牌正悄悄征服世界!
- 南极洲第二入口被发现?谷歌人为掩盖地点,真有秘密基地?(上)
- 第六届全省中小学生互联网+机器人设计活动决赛顺利结束
- 电子商务|欧洲跨境电商销售额市场排名公布,第一名令人意外!
- 按照惯例|安卓最强芯第二代骁龙8加持 小米13曝光:最快11月发
- 虽然正式版还尚早|iOS 16第二个测试版更新细节揭晓:苹果让锁屏更个性化
