问题
语言:C# 2.0 或更高版本
我想注册上下文处理程序以在用户右键单击某些文件(在我的例子中为 *.eic)时创建菜单。从这些菜单注册、注销(清理)和处理事件(点击)的过程是什么?
我知道这与 Windows 注册表有关,但考虑到 .net 中有多少东西,如果有方便的方法可以干净简单地完成此操作,我不会感到惊讶。
代码片段、网站引用、评论都很好。请把它们扔给我。
更新
显然,正如一些用户评论的那样,在托管语言中创建上下文菜单存在一个小问题。是否有任何其他首选方法可以实现相同的行为,或者我应该花时间研究这些解决方法?我根本不介意这样做,我很高兴人们已经付出努力使这成为可能 - 但我仍然想知道是否有一种“适当/干净”的方式来实现这一目标。
最佳答案
抵制用托管语言编写 Shell 扩展 - 如果你走这条路,有很多事情可能会失败。
浏览此线程以了解更多详细信息。如果确实需要,它包含执行此操作的链接,以及关于为什么可以执行但不应该执行的明智建议。
http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/1428326d-7950-42b4-ad94-8e962124043e/
您又回到了非托管 C/C++,这是您唯一真正的工具。
关于c# - 如何为 Windows 创建自定义 Shell 上下文处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/117651/