Según la extensión de shell que desee, pueden ser bastante complejas de implementar. No sé lo que estás buscando, para escribir rápidamente una buena extensión, o para entrar en detalles y aprender todo sobre esto. Si no están tan preocupados con el cómo, y sólo tienen algunas ideas que desea implementar, echa un vistazo a esta biblioteca para escribir extensiones de la cáscara ...
EZShellExtensions MFC
EZShellExtensions.NET
Hay una gran cantidad de diferentes tipos:
- Menús contextuales
- Páginas de propiedades
- Icon Manipuladores
y muchos más ...
También tienen otra biblioteca para escribir extensiones de espacios de nombres (cosas que se muestran en el panel del árbol del Explorador de Windows).
estás enlazando a la edición .NET de ese marco. ¡Nunca, nunca uses eso! Nunca, nunca escriba una extensión de shell en .NET. Aquí está el por qué: http://blogs.msdn.com/oldnewthing/archive/2006/12/18/1317290.aspx – Stefan
Dato interesante. No había pensado en eso. Supongo que esto puede o no ser un problema dependiendo de su público objetivo. Si escribe para una audiencia bien controlada (por ejemplo, cómo los sitios de Intranet pueden orientar solo JUST IE e ignorar otros navegadores) puede que no sea un problema, pero para publicación pública es un buen punto a tener en cuenta. Actualicé mi respuesta para incluir la versión de MFC. – eidylon
No es un problema de IE frente a otros navegadores. El problema es que cada aplicación que usa complementos puede romperse. Imagine una aplicación nativa que utiliza complementos COM, y uno de esos complementos COM está escrito en .NET. Si la aplicación utilizó un cuadro de diálogo abrir/guardar archivo antes de que necesite cargar el complemento, ese complemento puede no cargarse debido a que otro .NET runtime ya se ha cargado debido a esa mala extensión del shell. En realidad, ni siquiera es necesario usar un diálogo de abrir/guardar archivo: incluso algunas funciones de shell "normales" como SHGetFileInfo() suelen funcionar. Y sí, tengo una aplicación que se rompe si tales extensiones de shell están instaladas – Stefan