Foros del Web » Programación para mayores de 30 ;) » .NET »

Asociar Extensión a Programa y poder abrirlo desde este - C#

Estas en el tema de Asociar Extensión a Programa y poder abrirlo desde este - C# en el foro de .NET en Foros del Web. Hola amigos del Web. Estoy programando una aplicación en C# con windows forms y cree mi propia extensión de archivos (.gst) . Los archivos los ...
  #1 (permalink)  
Antiguo 06/01/2010, 15:20
Avatar de nixspatin  
Fecha de Ingreso: mayo-2008
Mensajes: 113
Antigüedad: 16 años
Puntos: 0
Asociar Extensión a Programa y poder abrirlo desde este - C#

Hola amigos del Web.
Estoy programando una aplicación en C# con windows forms y cree mi propia extensión de archivos (.gst) . Los archivos los puedo abrir desde el programa. Sin embargo lo que quiero es que al hacer doble click sobre el archivo se abra el programa y ese archivo en particular todo automatico.

Para eso necesito 2 cosas, una que el archivo abra mi programa, dos que me pase como argumento o de alguna forma la ruta del archivo que el usuario intenta abrir.

El paso uno lo solucione con una clase:
http://www.codeproject.com/KB/dotnet...sociation.aspx

Ahora al hacer click sobre mi archivo se abre el programa.
Sin embargo veo que de alguna forma hay que pasarle la ruta del archivo para poder abrirlo desde el programa.

Me gustaria saber si alguien hizo algo asi y me puede orientar.

Puse el comando de apertura a "C://miprograma/ejecutable.exe" "%1"
porque dicen que el %1 va a contener el path, pero no puedo acceder a el desde mi programa.
Prove poner args en el metodo main y tambien usar enviroment.getCommandLines()

Saludos

Nico
  #2 (permalink)  
Antiguo 06/01/2010, 15:53
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Asociar Extensión a Programa y poder abrirlo desde este - C#

usando

Environment.GetCommandLineArgs
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 06/01/2010, 16:36
Avatar de nixspatin  
Fecha de Ingreso: mayo-2008
Mensajes: 113
Antigüedad: 16 años
Puntos: 0
Respuesta: Asociar Extensión a Programa y poder abrirlo desde este - C#

Cita:
Iniciado por Peterpay Ver Mensaje
usando

Environment.GetCommandLineArgs
peterpay gracias por responder!!.
Probe usar lo que me dijiste y no aparece la ruta del archivo que se habre. El unico valor que devulve es la ruta del ejecutable.
  #4 (permalink)  
Antiguo 06/01/2010, 19:43
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Asociar Extensión a Programa y poder abrirlo desde este - C#

es un array de strings si no mal recuerdo

solo itera dentro del array y ahi estara
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #5 (permalink)  
Antiguo 07/01/2010, 01:04
Avatar de nixspatin  
Fecha de Ingreso: mayo-2008
Mensajes: 113
Antigüedad: 16 años
Puntos: 0
Respuesta: Asociar Extensión a Programa y poder abrirlo desde este - C#

si, efectivamente es un array de strings, solo que este tiene un solo elemento y es la ruta del ejecutable. A lo que voy es que talvez no este correctamente asociado el archivo al programa, osea, abre el programa pero talvez el comando no esta enviando la ruta como parámetro, por lo que me llega un solo parámetro.

Por ejemplo si ejecuto el ejecutable.exe con el parametro -p. osea "ejecutable -p", me llega un array de strings de dos elementos, una la ruta del ejecutable y la otra "-p". La asociacion no debe estar bien hecha, la extension asociada al programa, tiene que abrir el programa pero con el path del archivo como parametro. Para esto veo que usan "%1" muchos programadas, cuyo %1 es reemplazado tecnicamente por el path, pero a mi no me funciona, me llega un solo parametro.

Etiquetas: asociar, poder, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:27.