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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2012, 13:45   #1
garengobit
 
Регистрация: 05.05.2010
Сообщений: 6
Восклицание Запуск внешней программы и несколько аргументов

Код:
        private void button2_Click(object sender, EventArgs e)
        {
            Process.Start(@"engine\windows\player.exe",@"player labelPath.Text");
        }
Почему этот код может не работать? Нужно запустить файл с таким параметром: player game.zip. В labelPath.Text содержится путь к game.zip
garengobit вне форума Ответить с цитированием
Старый 03.06.2012, 15:39   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Я вижу две возможные проблемы:
1. Плеер, возможно, "привык" работать в своей директории. Тогда перед запуском ее нужно установить.
2. Содержимое командной строки, содержащей пробелы, желательно заключить в двойные кавычки.
s-andriano вне форума Ответить с цитированием
Старый 03.06.2012, 15:54   #3
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Код:
Process.Start(@"engine\windows\player.exe",@"player " + labelPath.Text);
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 03.06.2012, 16:09   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от garengobit Посмотреть сообщение
[CODE]...В labelPath.Text содержится путь к game.zip
Пример того, как НЕ НАДО задавать вопросы.
Если labelPath.Text - имя файла, в котором содержится путь, код будет одним.
Если labelPath.Text - поле формы, ответ будет совсем другим.
Учитесь правильно формулировать свои мысли.
s-andriano вне форума Ответить с цитированием
Старый 03.06.2012, 16:31   #5
garengobit
 
Регистрация: 05.05.2010
Сообщений: 6
По умолчанию

Разобрался
Код:
        private void RunBtn_Click(object sender, EventArgs e)
        {
            String appFile = @"engine\windows\player.exe";
            String args = labelPath.Text;
            Process.Start(appFile, args);
        }
Но возникла другая проблема теперь. Player должен собрать game.zip в исполняемый файл такой командой: copy /b player.exe+game.zip test.exe
Использовал это:
Код:
       {
            saveExe.Filter = "exe | *.exe";
            if (saveExe.ShowDialog() == DialogResult.OK) ;
            {
                ProcessStartInfo info = new ProcessStartInfo();

                String appFile = @"engine\windows\player.exe";
                String args = labelPath.Text;
                String Exe = saveExe.FileName;

                info.FileName = @"engine\windows\player.exe";
                info.Arguments = "copy /b "+appFile+args+Exe;

                info.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                using (Process process = Process.Start(info))
                {
                    process.WaitForExit();
                }
            }

        }
Не сохраняет((
garengobit вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
asp.net - запуск внешней программы rootv ASP.NET 1 20.09.2011 02:52
Запуск внешней программы Ciberal C# (си шарп) 8 22.05.2011 10:04
Вызов внешней программы Macmeprag C# (си шарп) 1 14.05.2011 16:19
Несколько аргументов - формула? Lersa Microsoft Office Excel 3 18.03.2011 11:04
Запуск внешней программы с параметрами Crystallon Общие вопросы Delphi 1 02.11.2010 23:05