在c#winforms应用程序中显示窗口(文件/目录)上下文菜单

时间:2010-04-06 10:00:35

标签: c# windows winforms contextmenu

我正在尝试在WinForms应用程序中显示标准文件/目录上下文菜单 - 我想让用户在资源管理器中使用我的应用程序中的文件。

应该有两个选项

  • 使用一些系统调用弹出上下文菜单
  • 从系统上下文菜单中读取所有内容并将其插入我的上下文菜单
你能指出我正确的方向吗?感谢

2 个答案:

答案 0 :(得分:8)

我编写了一个.NET库来实现这个目的。你可以在这里找到它:

http://gong-shell.sourceforge.net/

您正在寻找的类是该库中的ShellContextMenu。

答案 1 :(得分:4)

这可能非常具有挑战性,因此我提出两种解决方案:

  1. (简单)使用Groky建议的库,执行FolderSizes中的操作。 Explorer上下文菜单显示为子-上下文菜单。您可以通过在“资源管理器操作”项目悬停时显示资源管理器菜单来模拟此情况。

    enter image description here

  2. (硬)如果这还不够,您可以一直走,从shell中获取菜单项并创建自己的菜单。此CodeProject文章(http://www.codeproject.com/KB/miscctrl/FileBrowser.aspx)完成了枚举和调用特定shell对象的shell命令以及如何枚举子菜单的过程。