Pregunta

Soy un desarrollador novato de .Net 2.0 y 3.5. Quiero crear una aplicación que cree un menú contextual cuando se hace clic derecho en un archivo en Vista. Después de hacer clic derecho, creo que puedo averiguar el resto, pero no conozco la técnica para acceder a la API de Vista.

SEGUIMIENTO:

Como he estado leyendo algo de la información con la que la gente ha respondido, he encontrado que estoy exagerando aquí con las extensiones de shell. Creo que puedo mantener este proyecto mucho más simple si solo llamo a mi aplicación y paso el nombre del archivo como parámetro. Esto aún requiere que mi aplicación aparezca en el menú contextual del explorador cuando se hace clic derecho en los archivos con ciertas extensiones. ¿Cómo hago para hacer esto?

¿Fue útil?

Solución

Con el riesgo de parecer inútil, recomendaría esto en .Net 2.0 o 3.5. Como dijo Brian, lo que intentas implementar es una extensión de shell. Estos se implementan como bibliotecas que carga el shell de Vista.

Si bien hay varios tutoriales en la web que dan instrucciones sobre cómo implementarlos en .Net 2.0 o algunos de ellos mencionan lo mala idea que es. Si hace que el shell de Vista cargue una extensión de shell .Net, se verá obligado a cargar el CLR .Net completo que requiere su extensión de shell. Lo que hace que esto sea aún peor es que puede cargar solo una versión del CLR .Net completo en un proceso. Por lo tanto, si tiene una extensión de shell que requiere CLR .Net 1.0 y Vista lo ha cargado, no puede cargar el CLR 2.0 que requiere su extensión de shell.

También hay algunos artículos de desbordamiento de pila ya estoy discutiendo esto.

Alguna información sobre implementando una extensión de shell en C ++ no administrado (KBCafe PDF , no pude encontrar un simple enlace html)

Otros consejos

Lo que estás intentando escribir se llama una extensión de shell de " " ;. Nunca he escrito uno, así que no puedo darte un ejemplo rápido, pero ahora que sabes cómo se llama, probablemente puedas progresar más al buscar tutoriales en Google.

Estoy bastante seguro de que no está permitido usar código administrado para escribir extensiones de shell para el explorador en ninguna versión de Windows. Por lo tanto, si desea escribir uno, deberá hacerlo en un " tradicional " lenguaje como C ++.

Necesita una Extensión de Shell del menú contextual , ahora una cosa que debes tener en cuenta es que eres no está permitido escribirlos en .net (el blog de lo nuevo y antiguo).
Puede intentar escribir una extensión fuera de proceso (el esqueleto no está administrado, lo que llama al servicio administrado a través de IPC), pero no vi a nadie que lo hiciera.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top