¿Cómo puedo iniciar una aplicación usando C#?¿Lanzando una aplicación (.EXE) de C#?
Requisitos: Debe funcionar en Windows XP y Windows Vista.
He visto una muestra de la muestra DinnerNow.net que solo funciona en Windows Vista.
¿Cómo puedo iniciar una aplicación usando C#?¿Lanzando una aplicación (.EXE) de C#?
Requisitos: Debe funcionar en Windows XP y Windows Vista.
He visto una muestra de la muestra DinnerNow.net que solo funciona en Windows Vista.
Utilice System.Diagnostics.Process.Start()
method.
Consulte this article sobre cómo usarlo.
System.Diagnostics.Process.Start("PathToExe.exe");
Además tendrá que utilizar las variables de entorno para sus caminos, si es posible: http://en.wikipedia.org/wiki/Environment_variable#Default_Values_on_Microsoft_Windows
POR EJEMPLO
Hay muchos más echa un vistazo al enlace para obtener una lista más larga.
He aquí un fragmento de código útil:
using System.Diagnostics;
// Prepare the process to run
ProcessStartInfo start = new ProcessStartInfo();
// Enter in the command line arguments, everything you would enter after the executable name itself
start.Arguments = arguments;
// Enter the executable to run, including the complete path
start.FileName = ExeName;
// Do you want to show a console window?
start.WindowStyle = ProcessWindowStyle.Hidden;
start.CreateNoWindow = true;
int exitCode;
// Run the external process & wait for it to finish
using (Process proc = Process.Start(start))
{
proc.WaitForExit();
// Retrieve the app's exit code
exitCode = proc.ExitCode;
}
Hay mucho más que puede hacer con estos objetos, usted debe leer la documentación: ProcessStartInfo, Process.
Solo quería señalar que esto también parece funcionar con otros tipos de archivos que .exes. Simplemente señale el archivo que desea abrir y Windows hará todo lo posible para abrirlo: System.Diagnostics.Process.Start (@ "C: \ Users \ Blank \ Desktop \ PdfFile.pdf"); – DLeh
WindowStyle = ProcessWindowStyle.Hidden es para no GUI.La primera vez que ejecuté esto falló sin UseShellExecute = false, pero funciona ahora. No estoy seguro de lo que está pasando allí ... – Barton
A decir verdad, nunca he intentado esto con una aplicación GUI. – sfuqua
System.Diagnostics.Process.Start(@"C:\Windows\System32\Notepad.exe");
Si tiene problemas al usar System.Diagnostics como si tuviera, utilice el siguiente código simple que funcionará sin él:
Process notePad = new Process();
notePad.StartInfo.FileName = "notepad.exe";
notePad.StartInfo.Arguments = "mytextfile.txt";
notePad.Start();
¿Cómo es esto "sin System.Diagonostics"? 'Process' está en System.Diagnostics. –
Uso Process.Start para iniciar un proceso.
using System.Diagnostics;
class Program
{
static void Main()
{
//
// your code
//
Process.Start("C:\\process.exe");
}
}
acaba de poner su file.exe en la carpeta \ Debug \ bin y uso:
Process.Start("File.exe");
¿Cómo mejora tu respuesta en todas las anteriores? – mustaccio
Prueba esto:
Process.Start("Location Of File.exe");
(Asegúrese de que utiliza la biblioteca System.Diagnostics)
Adame Kane
System.Diagnostics.Process.Start(@"C:\Windows\System32\Notepad.exe");
esto funcionó muy bien !!!!!
¿Qué pasa si no sé el nombre completo del exe, quiero llamar "PathTo * .exe" ¿Es esto posible? – vishal