Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: alkalo en 17 Noviembre 2017, 22:40 pm



Título: Desde Visual Studio iniciar ejecutable c#
Publicado por: alkalo en 17 Noviembre 2017, 22:40 pm
Buenas Comunidad, alguien me ayuda con esto?
La cosa es desde visual studio en c#, desde un form iniciar un ejecutable,
Por ejemplo, le das a un botón y te abre skype...
GRACIAS!


Título: Re: Desde Visual Studio iniciar ejecutable c#
Publicado por: MCKSys Argentina en 17 Noviembre 2017, 23:47 pm
Hola!

Te molestaste en buscar en Google siquiera, antes de preguntar?

El primer resultado de mi búsqueda (https://www.google.com/search?q=c%23+run+app+from+button+event): https://stackoverflow.com/questions/15948328/c-sharp-execute-another-program-on-button-click (https://stackoverflow.com/questions/15948328/c-sharp-execute-another-program-on-button-click)

Saludos!


Título: Re: Desde Visual Studio iniciar ejecutable c#
Publicado por: Meta en 18 Noviembre 2017, 04:18 am
4GlCsOZSHgQ


Título: Re: Desde Visual Studio iniciar ejecutable c#
Publicado por: alkalo en 18 Noviembre 2017, 14:23 pm
Hola!

Te molestaste en buscar en Google siquiera, antes de preguntar?

El primer resultado de mi búsqueda (https://www.google.com/search?q=c%23+run+app+from+button+event): https://stackoverflow.com/questions/15948328/c-sharp-execute-another-program-on-button-click (https://stackoverflow.com/questions/15948328/c-sharp-execute-another-program-on-button-click)

Saludos!

Si he buscado pero usan process y ami ese comando nop me funciona...
Pero gracias!


Título: Re: Desde Visual Studio iniciar ejecutable c#
Publicado por: Eleкtro en 18 Noviembre 2017, 14:48 pm
Si he buscado pero usan process y ami ese comando nop me funciona...

La clase System.Diagnostics.Process es la forma correcta y sofisticada para iniciar y controlar un proceso en .NET, y funcionar te debe funcionar, no es algo que le funcione a unos y a otros no... lo que ocurre es que no lo sabrás utilizar correctamente, algo incorrecto debes estar haciendo en el código, y lo mejor sería que nos mostrases tal código para decirte donde está el fallo...

De todas formas, si todos esos ejemplos de StackOverflow te parecen algo dificil, se pueden simplificar en una sentencia single-line más simple para evitarte mayores complicaciones:
Código
  1. Process.Start(@".\programa.exe", "argumentos");
( el parámetro donde especificar los argumentos es opcional, claro está. )

Saludos.


Título: Re: Desde Visual Studio iniciar ejecutable c#
Publicado por: alkalo en 18 Noviembre 2017, 16:31 pm
La clase System.Diagnostics.Process es la forma correcta y sofisticada para iniciar y controlar un proceso en .NET, y funcionar te debe funcionar, no es algo que le funcione a unos y a otros no... lo que ocurre es que no lo sabrás utilizar correctamente, algo incorrecto debes estar haciendo en el código, y lo mejor sería que nos mostrases tal código para decirte donde está el fallo...

De todas formas, si todos esos ejemplos de StackOverflow te parecen algo dificil, se pueden simplificar en una sentencia single-line más simple para evitarte mayores complicaciones:
Código
  1. Process.Start(@".\programa.exe", "argumentos");
( el parámetro donde especificar los argumentos es opcional, claro está. )

Saludos.
a parte de poner:
Process.Start(@".\programa.exe", "argumentos");
tengo que iniciar process?(new)?


Título: Re: Desde Visual Studio iniciar ejecutable c#
Publicado por: Eleкtro en 18 Noviembre 2017, 18:01 pm
a parte de poner:
Process.Start(@".\programa.exe", "argumentos");
tengo que iniciar process?(new)?

...¿Por que no pruebas el código que te he puesto y así sales de dudas por ti mismo?.

Solo te puse una sola linea, no añadí ninguna instrucción más... por que no es necesario hacer más. La otra forma de utilizar la clase Process resérvala para cuando quieras obtener control sobre la forma en la que se ejecuta (ej. ventana visible, u oculta), capturar los búfers de entrada o de salida del proceso (std-in, std-err o std-out), o suscribirte a los eventos de inicio y de salida del proceso que expone la clase Process.

Saludos.


Título: Re: Desde Visual Studio iniciar ejecutable c#
Publicado por: alkalo en 21 Noviembre 2017, 19:15 pm
4GlCsOZSHgQ

GRACIAS POR EL VIDEO! Me diste una idea y ahora funciona.! GRACIAS A TODOS.

Como puedo hacer para que se ejecute pero en el mismo directorio? Que no tenga que buscar C.....


Título: Re: Desde Visual Studio iniciar ejecutable c#
Publicado por: Eleкtro en 21 Noviembre 2017, 20:09 pm
Como puedo hacer para que se ejecute pero en el mismo directorio? Que no tenga que buscar C.....

Sencillamente coloca el executable en el directorio de compilación de tu programa (es decir, "al lado" de tu executable compilado). Por defecto se usará ese directorio como directorio de trabajo... de todas formas puedes especificar el directorio de trabajo:

  • ProcessStartInfo.WorkingDirectory Property | docs.microsoft.com (https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.processstartinfo.workingdirectory?view=netframework-4.7.1#System_Diagnostics_ProcessStartInfo_WorkingDirectory)

O simplemente puedes escribir el nombre del executable en la propiedad StartInfo.FileName, solo el nombre del executable, la ruta absoluta se resolverá por si sola...
Código
  1. p.StartInfo.FileName = @"Program.exe";

O también puedes escribir una ruta relativa tal que así:
Código
  1. p.StartInfo.FileName = @".\Program.exe";

Saludos.