Запуск приложения (.EXE) из C#?


Как я могу запустить приложение с помощью C#?

требования: Надо работать над Windows XP и Windows Vista.

Я видел образец из DinnerNow.net сэмплер, который работает только в Windows Vista.

10 138

10 ответов:

использовать System.Diagnostics.Process.Start() метод.

проверить в этой статье о том, как использовать его.

вот фрагмент полезного кода:

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;
}

есть намного больше вы можете сделать с этими объектами, вы должны прочитать документацию: ProcessStartInfo,

System.Diagnostics.Process.Start("PathToExe.exe");
System.Diagnostics.Process.Start( @"C:\Windows\System32\Notepad.exe" );

Если у вас есть проблемы с использованием системы.Диагностика как и у меня, используйте следующий простой код, который будет работать без него:

Process notePad = new Process();
notePad.StartInfo.FileName   = "notepad.exe";
notePad.StartInfo.Arguments = "mytextfile.txt";
notePad.Start();

кроме того, вы хотите использовать переменные среды для ваших путей, если это вообще возможно: http://en.wikipedia.org/wiki/Environment_variable#Default_Values_on_Microsoft_Windows

Например

  • %WINDIR% = каталог Windows
  • %APPDATA% = данные приложения - Сильно варьируется между Vista и XP.

есть еще много проверить ссылку для более длинного списка.

Adame Кейн

System.Diagnostics.Process.Start(@"C:\Windows\System32\Notepad.exe");

он работал отлично!!!!!

попробуйте это:

Process.Start("Location Of File.exe");

(убедитесь, что вы используете систему.Библиотека диагностики)

использовать

просто поместите свой файл.exe в папке \bin\Debug и используйте:

Process.Start("File.exe");