¿Cómo crear un explorador de carpetas similar a Explorer?

Usando C # y WinForms en VS2008, quiero crear un control de navegador de archivos que se vea y actúe como el panel izquierdo en el Explorador de Windows. Para mi sorpresa, un control de este tipo no incluye .NET por defecto.

Idealmente, me gustaría que sus contenidos sean exactamente los mismos que en Explorer. Por ejemplo, en Windows 7, debería mostrar las pseudo-carpetas de Favoritos y Bibliotecas. Por supuesto, no quiero codificar específicamente para cada versión de Windows si puedo evitarlo.

He navegado, y hay algunos ejemplos de tales controles, pero todos están hechos a mano y por lo tanto no funcionarán al 100% igual que el de Explorer.

¿Hay alguna forma en que pueda simplemente reutilizar el control Explorer en su lugar? O, si no, ¿para obtener acceso a un árbol de los elementos que mostraría?

Microsoft proporciona un tutorial para crear una interfaz de estilo de Windows Explorer en C # .

También hay varios ejemplos en Code Project y otros sitios. Ejemplos inmediatos son Explorer Tree , My Explorer , File Browser y Advanced File Explorer, pero hay otros. Explorer Tree parece ser el mejor de la breve mirada que tomé.

Utilicé el término de búsqueda windows explorer tree view C# en Google para encontrar estos enlaces.

No es tan fácil como parece implementar un control como ese. Explorer funciona con elementos de shell, no elementos de sistema de archivos (por ejemplo, el panel de control, la carpeta de impresoras, etc.). Si necesita implementarlo, le sugiero echar un vistazo a las funciones del shell de Windows en http://msdn.microsoft.com/en-us/library/bb776426(VS.85).aspx .