2011-01-05 16 views
10

Antes de publicar fui a Proyecto -> Propiedades -> Opciones -> Asociaciones de archivos y agregué la extensión ".hsp". Establezca un ícono y un ProgID ("MyCompany.Document.1" para pruebas). Después de que publiqué e instalé, mis archivos .hsp tenían el ícono que configuré, por lo que la asociación del archivo debe establecerse correctamente, pero cuando hice doble clic en uno de estos archivos, la aplicación se ejecutó y esperé que el nombre del archivo en el que hice doble clic fuera en la línea de comando. Intenté leer el parámetro pasado a mi función Main, intenté Environment.CommandLine, e intenté Environment.GetCommandLineArgs(), pero lo único que encontré fue la ruta de la aplicación. Por cierto, estoy haciendo toda esta comprobación antes de crear mi formulario principal en la función Main, solo para probar. El parámetro args está vacío y los otros dos solo contienen la ruta de acceso de mi aplicación.¿Cómo obtener la línea de comando desde una aplicación ClickOnce?

Este es el comienzo de mi función Main:

static void Main(string[] args) 
    { 
     try 
     { 
      Application.EnableVisualStyles(); 
      Application.SetCompatibleTextRenderingDefault(false); 
      Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException); 
      MessageBox.Show("CommandLine -> " + Environment.CommandLine); 
      foreach (string str in args) MessageBox.Show("args -> " + str); 
      foreach (string str in Environment.GetCommandLineArgs()) MessageBox.Show("GetCommandLineArgs -> " + str); 

Respuesta

9

Cuando se publica una aplicación con ClickOnce y luego poner en marcha haciendo doble clic en un archivo asociado, la ruta de acceso a ese archivo en realidad se almacena aquí:

documentación
AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData[0] 

Sede de MSDN para aquí:

http://msdn.microsoft.com/en-us/library/system.runtime.hosting.activationarguments.aspx

Plus un tutorial sobre cómo añadir a las asociaciones de archivos "publicado" proyectos:

http://blogs.msdn.com/b/mwade/archive/2008/01/30/how-to-add-file-associations-to-a-clickonce-application.aspx

+0

Muchas gracias! – pr0gg3r

Cuestiones relacionadas