Pregunta

Duplicar posibles:
Filetype asociación con aplicación (C #)

Estoy escribiendo una aplicación de C # de Windows para visualizar y modificar los archivos '' .build (scripts Nant). Me gustaría que el usuario sea capaz de hacer clic derecho sobre un archivo .build en Windows Explorer y seleccione la opción 'Abrir con>' opción para permitir que el archivo que se desea modificar en mi aplicación.

¿Qué necesita mi programa de apoyo en el fin de trabajar con este mecanismo? ¿Cómo sería mi necesidad de programa para hacer que Windows para habilitar el soporte de menú de contexto?

Me preguntaba si alguien me podría apuntar en la dirección de un buen artículo / tutorial sobre este tema.

¿Fue útil?

Solución

El comando Abrir Con sólo pasa la ruta del archivo como primer argumento a la aplicación por lo que todo lo que necesita hacer es

public static void Main(string[] args)
{
    if(args[0] != null)
    {
       //args[0] contans a path to the file do whatever you need to do to display it
    }
    else
    {
       //Start normally
    }
}

Para poner automaticamente su programa a la intemperie con la lista que tendrá que añadir algunas claves reg en HKEY_CLASSES_ROOT\YOUR_EXT\. Aquí es una respuesta SO diciendo cómo hacerlo

o usted podría añadir a mano a la intemperie con la lista de la forma habitual.

Otros consejos

Tome un vistazo a esta entrada del blog: Shell Extensiones - Contexto menú. Tiene código para un simple "envoltorio" a algunos ganchos COM al menú contextual de Windows shell. Ponerlo en el GAC y al hacer clic, el menú será incluido como un submenú del menú contextual del botón derecho.

En lo que estrictamente el uso de "Abrir con ..." para que su aplicación se mostrarán sólo para los archivos que puede abrir, que es un poco más fácil. Estos son administrados por el uso de claves del registro de Windows en dos lugares en el registro:

  1. HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .FileExtension \ OpenWithList (instalación para el usuario actual)
  2. HKEY_CLASSES_ROOT \ .FileExtension \ OpenWithList (instalar para todos los usuarios)

Tome un vistazo a algunos de los ya existentes utilizando regedit, a continuación, utilizar la clase de registro para crear una nueva clave para la extensión que desea.

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