我想在Vista或Windows 7中编写类似于“Windows Contacts”的程序,其中新的列和菜单项添加到Windows资源管理器中,以及带有图片和选定字段的预览。
是否可以用C#编写它?
答案 0 :(得分:1)
您可能希望编写Windows shell扩展。
This question可能会为您提供一些答案。
此外,here is an example显示了如何在资源管理器中插入自己的列 (注意,它已经过时了,但可能会给你一些想法)
答案 1 :(得分:0)
此类功能称为Shell扩展。特别是进程外壳扩展。
是的,在技术上可以用C#或任何其他托管语言编写它,因为它是通过COM互操作公开的。但是高度建议您不要这样做。简短的原因是您冒险将CLR注入到使用Shell命名空间(其中许多)的每个进程中。
这是一篇很好的博客文章和更多链接,详细说明了为什么这是一个坏主意。
答案 2 :(得分:0)
嗯,经过一些研究并调查了Judah Himango关于How can I create my custom Shell Context Handlers for Windows?
这个问题的答案有一些关于使用(未来).NET 4框架在托管代码中编写shell扩展的好消息:explorer.exe将能够在同一进程中使用多个版本的.NET。这打开了在托管代码中编写shell扩展的大门,而没有.NET中遇到的已知风险。 4。
有关此帖子的更多信息: http://blogs.msdn.com/clrteam/archive/2009/06/03/in-process-side-by-side-part1.aspx