如何从C#应用程序中显示Windows资源管理器上下文菜单?

时间:2009-01-16 17:28:14

标签: c# contextmenu explorer

我的应用程序中有一个文件列表,我想让人们右键单击一个项目并显示Windows资源管理器上下文菜单。我假设我需要使用IContextMenu接口,但我不确定从哪里开始。

3 个答案:

答案 0 :(得分:11)

我写了一个可以帮助你的图书馆。您可以使用库提供的控件,或者如果您不想这样做,查看代码可能会给您答案。

您可以在http://gong-shell.sourceforge.net/

找到该库

请告诉我这是否有帮助!

答案 1 :(得分:5)

答案 2 :(得分:4)

我发现了一篇很棒的Code Project文章,它很好地将所有内容封装到一个类中!

Explorer Shell Context Menu

它就像下面的代码片段一样简单:

// Sample code

ShellContextMenu ctxMnu = new ShellContextMenu();
FileInfo[] arrFI = new FileInfo[1];
arrFI[0] = new FileInfo(this.treeMain.SelectedNode.Tag.ToString());
ctxMnu.ShowContextMenu(arrFI, this.PointToScreen(new Point(e.X, e.Y)));

唯一令人讨厌的事情是,它需要一个FileInfo []数组或一个DirectoryInfo []数组,尽管稍微修改一下源非常容易,因此需要一个FileSystemInfo数组[]