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

Axa*_*dax 7 c# windows contextmenu winforms

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

应该有两种选择

  • 通过一些系统调用弹出上下文菜单
  • 从系统上下文菜单中读取所有内容并将其插入到我的上下文菜单中

你能指点我正确的方向吗?谢谢

Gro*_*kys 8

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

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

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


Kev*_*ick 5

这可能被证明是非常具有挑战性的,所以我提出了两个解决方案:

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

    在此处输入图片说明

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