none
Opción "Abrir con.." en C# RRS feed

  • Pregunta

  • Simplemente necesito abrir un archivo con un programa distinto al predeterminado (en C#). Como duda adicional, si quiero ejecutar (desde la interfaz gráfica) un archivo como .exe, en "Abrir con...", ¿que programa debo seleccionar, y donde puedo encontrarlo? Al poner "assoc" en cmd, me indica: ".exe=exefile".
    martes, 27 de febrero de 2018 17:22

Respuestas

  • Para abrir un archivo cualquiera con un ejecutable cualquiera, uno utiliza la clase Process.  Si quiere abrir un ejecutable con otro, es posible.  Un ejecutable es, a fin de cuentas, un archivo como cualquier otro.  El formato de un ejecutable, al igual que una biblioteca (DLL), es PE (portable executable).  Si uno tuviese un ejecutable que puede entender PE, pues es normal querer usar dicho ejecutable para abrir otro ejecutable.  Un típico ejemplo es Dependency Walker.

    string exe = "C:\app\miapp.exe"; //El ejecutable a ejecutar.
    string archivo = "C:\otroexe.exe"; //El "archivo" a abrir con "exe".
    using (Process p = Process.Start(exe, archivo)
    {
        p.WaitforExit();
    }


    Jose R. MCP
    Code Samples

    • Marcado como respuesta Xerenger jueves, 1 de marzo de 2018 17:00
    martes, 27 de febrero de 2018 23:14
    Moderador

Todas las respuestas

  • hola

    >>necesito abrir un archivo con un programa distinto al predeterminado

    pero lo quieres asociar usando codigo o directo desde windows?

    porque si es desde windows simplesmente usas el boton derecha sobre el filey en el menu selecionas otra aplicacion

    >>si quiero ejecutar (desde la interfaz gráfica) un archivo como .exe, en "Abrir con..."

    que interfaz grafica ? no entendi

    >>¿que programa debo seleccionar, y donde puedo encontrarlo?

    no entendi

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 27 de febrero de 2018 17:28
  • Quiero abrirlo usando código y a poder ser sin asociarlo. Con interfaz gráfica me refiero a de forma "normal" sin código, además el archivo es un .exe, y no me aparece la opción "abrir con..". Y respecto a qué programa seleccionar me refiero a que, por ejemplo, un .rar lo abres seleccionado WinRar.exe, un .txt con Notepad.exe, etc.
    martes, 27 de febrero de 2018 17:32
  • hola

    pero un .exe no se edita, se ejecuta, por eso no tendrias ningun abrir con con un .exe

    si puedes asociar otras extensiones para ser abiertas con tu aplicacio exe

     Asociar Extension de Archivo a Mi Aplicacion

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 27 de febrero de 2018 18:04
  • Para abrir un archivo cualquiera con un ejecutable cualquiera, uno utiliza la clase Process.  Si quiere abrir un ejecutable con otro, es posible.  Un ejecutable es, a fin de cuentas, un archivo como cualquier otro.  El formato de un ejecutable, al igual que una biblioteca (DLL), es PE (portable executable).  Si uno tuviese un ejecutable que puede entender PE, pues es normal querer usar dicho ejecutable para abrir otro ejecutable.  Un típico ejemplo es Dependency Walker.

    string exe = "C:\app\miapp.exe"; //El ejecutable a ejecutar.
    string archivo = "C:\otroexe.exe"; //El "archivo" a abrir con "exe".
    using (Process p = Process.Start(exe, archivo)
    {
        p.WaitforExit();
    }


    Jose R. MCP
    Code Samples

    • Marcado como respuesta Xerenger jueves, 1 de marzo de 2018 17:00
    martes, 27 de febrero de 2018 23:14
    Moderador