Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2014, 18:01   #1
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию Запуск приложения из С#

Подскажите пожалуйста.
Есть прога на C# и экзешник на фортране. Как написадь код обработчика на шарпе, чтобы по нажатию на buttion запускалась прога на фортране.
Я сделал так:
Код:
private void button5_Click(object sender, EventArgs e)
        {
            Process newProc = Process.Start("C:путь к файлу/имя файла.exe");
        }
В итоге по нажатию кнопки, фортрановская прога открывается но тут же закрывается - не работает короче.
К проге на фортране есть несколько файлов, связанных с ее работой, они все в папке с экзешником.

Как сделать что бы работало?

Можно ли всю папку относящуюся к программе на фортране поместить в проект на си шарпе и вызывать из него. Как?

Последний раз редактировалось Stilet; 18.10.2014 в 19:47.
userrrr вне форума Ответить с цитированием
Старый 18.10.2014, 18:11   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

попробуйте задать рабочую директорую для программы (процесса).

как это сделать см., например, тут - http://stackoverflow.com/questions/1...ault-directory
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.10.2014, 18:23   #3
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

Не выходит.
делал так:
Код:
ProcessStartInfo _processStartInfo = new ProcessStartInfo();
            _processStartInfo.WorkingDirectory = @"/путь к директории/";
            _processStartInfo.FileName = @"Iимя файла.exe";
         
            _processStartInfo.CreateNoWindow = true;
            Process myProcess = Process.Start(_processStartInfo);
Пишет:
исключение и указывает на эту строку:

Цитата:
Process myProcess = Process.Start(_processStartInfo);
Помогите, не выходит!

Код:
ProcessStartInfo _processStartInfo = new ProcessStartInfo();
            Process.Start("c:/Users/Сергей/Desktop/id29/id_Pro_MiGK/id_Pro_MiGK.exe");
            _processStartInfo.WorkingDirectory = "С:/Users/Сергей/Desktop/id29/id_Pro_MiGK/";

Экзешник запускается и тут же тухнет. Прога обращается к файлам, которые лежат в папке с экзешником, но видимо не находит их и поэтому не работает.

Как исправить ситуацию?

Последний раз редактировалось Stilet; 18.10.2014 в 19:48.
userrrr вне форума Ответить с цитированием
Старый 18.10.2014, 19:49   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А если ее просто запускать - не тухнет?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.10.2014, 19:53   #5
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

Нет, если просто запускать, то все работает.

Сейчас я запускаю прогу, промелькивает черное окно, где написано, что не найдет файл к которому эта самая фортрановская прога обращается и который лежит с экзешником в одной папке.

Последний раз редактировалось Stilet; 18.10.2014 в 19:57.
userrrr вне форума Ответить с цитированием
Старый 18.10.2014, 20:00   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
ProcessStartInfo _processStartInfo = new ProcessStartInfo("c:/Users/Сергей/Desktop/id29/id_Pro_MiGK/id_Pro_MiGK.exe");
  _processStartInfo.UseShellExecute=false;
  _processStartInfo.WorkingDirectory = "С:/Users/Сергей/Desktop/id29/id_Pro_MiGK/";
  Process.Start(_processStartInfo);
Не?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.10.2014, 20:04   #7
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

Неверно задано имя папки пишет

Вот скрин с открытой папкой и путем
Изображения
Тип файла: jpg 1.jpg (109.8 Кб, 129 просмотров)

Последний раз редактировалось Stilet; 18.10.2014 в 20:09.
userrrr вне форума Ответить с цитированием
Старый 18.10.2014, 20:08   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Интересно, а почему / а не \\
Код:
using System;
using System.Diagnostics;

namespace жж
{
	class MainClass
	{
		public static void Main (string[] args)
		{
			string prg = @"c:\Users\Vi\Desktop\66\bin\Debug\66.exe";
			ProcessStartInfo _processStartInfo = new ProcessStartInfo(prg);
			Process.Start(_processStartInfo);
		}
	}
}
Проверил на mono - работает.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.10.2014, 20:10   #9
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

Так что сделать то?
userrrr вне форума Ответить с цитированием
Старый 18.10.2014, 20:14   #10
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

Все, догнал. Блин, ну я и...
userrrr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск приложения ShellExecuteW Drugnir C++ Builder 15 12.04.2012 10:19
Запуск приложения jkpro Помощь студентам 16 08.11.2009 12:31
Запуск приложения с параметрами Arhangel_bes Помощь студентам 14 12.02.2009 21:35
Запуск приложения Zloy_Doomer Общие вопросы Delphi 2 10.10.2008 13:47
Запуск приложения Артэс Общие вопросы C/C++ 2 07.06.2008 17:38