如何为Windows创建自定义Shell上下文处理程序?

Sta*_*ent 4 .net c# windows-shell

问题

语言:C#2.0或更高版本


当用户右键单击某些文件时(我的情况是*.eic),我想注册上下文处理程序来创建菜单.从这些菜单中注册,注销(清理)和处理事件(点击)的过程是什么?

我有一个线索,它与Windows注册表有关,但考虑到.net中有多少东西,如果有方便的方法来做到这一点干净和简单,我不会感到惊讶.

代码片段,网站引用,评论都很好.请把它们扔给我.

更新


显然,在托管语言中创建上下文菜单存在一些问题,正如一些用户所评论的那样.有没有其他优选的方法来实现相同的行为,或者我应该花时间研究这些变通方法?我根本不介意这样做,我很高兴人们已经努力使这成为可能 - 但我仍然想知道是否有一个"适当/干净"的方式实现这一目标.

ste*_*hbu 6

拒绝使用托管语言编写Shell Extensions - 如果您采用这种方式,有许多事情可能会爆炸.

浏览此主题以获取更多详细信息.它包含了如果真的需要这样做的链接,以及为什么可以这样做的sagely建议,但不应该.

http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/1428326d-7950-42b4-ad94-8e962124043e/

你将回到非托管C/C++作为你唯一真正的工具.