Запуск приложения (.EXE) из C#?
Как я могу запустить приложение с помощью C#?
требования: Надо работать над Windows XP и Windows Vista.
Я видел образец из DinnerNow.net сэмплер, который работает только в Windows Vista.
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,
Если у вас есть проблемы с использованием системы.Диагностика как и у меня, используйте следующий простой код, который будет работать без него:
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");
он работал отлично!!!!!