如何使用与Explorer相同的选项创建上下文菜单

时间:2013-06-14 16:34:59

标签: c# .net windows

如果已经回答,我道歉。我看了看,我找不到任何我想要的东西,我觉得非常令人惊讶。请随时给我一个“已经被问过”的链接...... :(

我正处于用C#创建程序的早期阶段。主窗口将包含与我的应用程序相关的文件列表。我目前将它们放在列表视图中,但我可以根据需要切换窗口小部件类型。我想要的是让用户可以右键单击一个或多个文件名,这将显示与Explorer中相同的上下文菜单。用例如“打开”,“编辑”,“打印”等等。

显然我可以手动将内容放入上下文菜单中,但我希望它具有与Explorer中相同的选项。将有Word文档和文本文件以及其他各种可能的结果。我不知道如何填充标准Windows上下文菜单中的操作列表,特别是考虑到列表会根据所选的文件类型以及是否选择多个文件而更改。

我可以在必要时提供代码,但我还没有任何有趣的东西。

所以我的问题是 - 如何在资源管理器中右键单击文件或文件组时获取操作列表?我可以调用Windows API吗?或者我汇总我在注册表中读取的选项?如果是这样,我会读什么?或者是什么?

作为奖励,我希望能够在我自己的应用程序中的菜单中添加我自己的一些命令。我找到的大部分内容都是如何编写上下文菜单的扩展,以便我可以添加一个在单击特定文件类型时始终显示的操作。那不是我想要的。这是一个奖励,我可以随时添加按钮或下拉菜单或其他东西,如果这不起作用或需要英雄编码。

1 个答案:

答案 0 :(得分:4)

我发现这篇文章描述了c ++的过程,但我认为你可以转换它。 Using the shell context menu

编辑: 这是一个带有现成代码(C#)的项目的另一个链接:

Explorer shell context menu