仅在特定驱动器的Windows资源管理器中添加上下文菜单项

时间:2011-08-12 09:07:18

标签: .net windows-shell

我想在Windows资源管理器中添加一个上下文菜单项,有点像notepadd ++,winzip,winrar。

这些是我的要求:

  • 上下文菜单项应显示在特定驱动器的所有文件上(例如:应显示在D:但不显示在C:上)
  • 上下文菜单应该只启动一个带有所选文件作为参数的.NET程序
  • 应该适用于XP,Vista,Windows 7(32位和64位)

经过一些搜索,看起来好像我可以使用HKEY_CLASSES_ROOT \ Folder \ shell注册表项并将自己插入此处,但它看起来好像全部或全无,无法将项目放在上下文菜单中D中的文件:但不是C:

另一个解决方案是编写一个Shell扩展,但是在.NET中不鼓励这样做,对于手头的任务看起来有些过分。

解决问题的最简单方法是什么?

由于

1 个答案:

答案 0 :(得分:1)

  

另一种解决方案是编写Shell扩展,但这是   在.NET中气馁,对于手头的任务看起来有点过分。

你在哪里读到它是沮丧的? Dino Esposito写了一本关于在C#中完成的Shell Extensions的书,google for it:)

在ShellExtension中,您的代码被执行,您可以完全控制要显示的内容以及何时显示,在这种情况下,您不需要过度使用。

注册表包含ShellExtension注册(以及其他内容),因此我认为你应该采用编码外壳扩展方法而不是手动触及注册表,因为在第二种情况下你对发生的事情的控制较少。