如果已经有人回答了这个问题,请原谅我。我已经找了很久,但是没有找到我想要的内容,这让我感到非常惊讶。如果您能提供一个“这个问题已经被问过”的链接,那就太好了… :(
我正在使用C#创建一个程序的早期阶段。主窗口将显示与我的应用程序相关的文件列表。我目前将它们放在一个列表视图中,尽管如果需要,我可以切换小部件类型。我希望用户能够右键单击一个或多个文件名,这将会弹出与在资源管理器中相同的上下文菜单。例如,“打开”,“编辑”,“打印”等等。
显然,我可以手动将内容放入上下文菜单中,但是我希望它具有与在资源管理器中相同的选择。将会有Word文档、文本文件和各种其他杂项。我不知道标准Windows上下文菜单中的操作列表是如何生成的,特别是考虑到该列表根据所选的文件类型和是否选择了多个文件而变化。
如果需要,我可以提供代码,尽管我没有任何有趣的东西。
因此,我的问题是 - 如何获取右键单击资源管理器中的一个或一组文件时获得的操作列表?是否有可以调用的Windows API?还是我聚合在注册表中读取的选择?如果是这样,我应该读什么?或者怎么办?
作为奖励,我想能够将自己的一些命令添加到菜单中,但仅限于我的应用程序内。大多数我能找到的只是如何编写上下文菜单的扩展,以便在单击特定文件类型时始终显示一个操作。这不是我想要的。虽然这是一个额外的功能,如果这不起作用或需要英雄式的编码,我总是可以添加按钮或下拉菜单之类的东西。