Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.59/29: Рейтинг темы: голосов - 29, средняя оценка - 4.59
foo();
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
1
.NET 4.x

Process.Start ошибка "Параметр задан неверно"

11.10.2014, 15:52. Показов 5413. Ответов 20

Author24 — интернет-сервис помощи студентам
Направьте на верный путь, плиз
Если в cmd ввести
Код
D:\BP\BIN\BPC.EXE D:\P\lab4\LAB4.PAS
то все выполняется нормально. А в программе код
C#
1
2
string compiler = @"D:\BP\BIN\BPC.EXE", file = @"D:\P\lab4\LAB4.PAS";
Process.Start(compiler, file);
вылетает с ошибкой: "Параметр задан неверно".
В чем проблема?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.10.2014, 15:52
Ответы с готовыми решениями:

Ошибка с открытием видео через System.Diagnostics.Process.Start
Я через System.Diagnostics.Process.Start указал ссылку на видео в ютубе что бы через button он...

Не работает Process.start
Есть библиотека dll. Которая запускается из контекстного меню проводника. В ней должна запускаться...

Метод Process.Start() не видит файл
Привет всем. Такая проблема. В папку проекта "bin\\Debug\\net7.0" скопировал файл "iexplore.exe"...

Process.start: не открывается картинка на Windows XP
// запуск процесса Process imgProcess = new Process(); mgProcess.StartInfo.FileName =...

Не работает переменная в Process.Start (CMD)
Как можно использовать переменные из CMD в этом коде? Process.Start("cmd.exe", "/C set...

20
202 / 171 / 67
Регистрация: 04.10.2014
Сообщений: 839
11.10.2014, 15:53 2
rattrapper, Process.Start не содержит двух параметров с именами файлов, первый параментр принимает файл, а второй аргументы запуска)
0
foo();
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
11.10.2014, 15:58  [ТС] 3
meksik, ну так. "D:\P\lab4\LAB4.PAS" - это аргумент для программы "D:\BP\BIN\BPC.EXE"

Добавлено через 1 минуту
D:\BP\BIN\BPC.EXE - компилятор pascal'я. D:\P\lab4\LAB4.PAS - исходный файл, который нужно скомпилировать
0
202 / 171 / 67
Регистрация: 04.10.2014
Сообщений: 839
11.10.2014, 16:07 4
rattrapper,

C#
1
2
                    updater.StartInfo.FileName = UPDATER_FILE;
                    updater.StartInfo.Arguments = NEW_FILE + ' ' + INSTALL_FILE;
я так записывал, хз может есть разница)

Добавлено через 29 секунд
я в аргументах вообще 2 файла передал))

Добавлено через 5 минут

Не по теме:

C#
1
+ ' ' +
сам не понимаю почему так записано о_О

0
foo();
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
11.10.2014, 16:10  [ТС] 5
Цитата Сообщение от meksik Посмотреть сообщение
я так записывал
C#
1
2
3
4
var compiler = new Process();
compiler.StartInfo.FileName = CPath;
compiler.StartInfo.Arguments = file;
compil.Start();
та же ошибка

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от meksik Посмотреть сообщение
сам не понимаю почему так записано о_О
пробел между аргументами, а что не так то?

0
202 / 171 / 67
Регистрация: 04.10.2014
Сообщений: 839
11.10.2014, 16:12 6
C#
1
2
3
4
5
6
7
                    Process updater = new Process();
                    updater.StartInfo.FileName = UPDATER_FILE;
                    updater.StartInfo.Arguments = NEW_FILE + ' ' + INSTALL_FILE;
                    updater.StartInfo.UseShellExecute = true;
                    updater.StartInfo.Verb = "runas";
                    updater.Start();
                    Process.GetCurrentProcess().Kill();
полностью мой вариант, у меня работает)

Не по теме:

Цитата Сообщение от rattrapper Посмотреть сообщение
пробел между аргументами, а что не так то?
так почему в одинарных то ковычках о_О

0
foo();
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
11.10.2014, 16:19  [ТС] 7
Цитата Сообщение от meksik Посмотреть сообщение
updater.StartInfo.UseShellExecute = true;
updater.StartInfo.Verb = "runas";
UseShellExecute не помогло. А Verb... Даже если он нужен, то "runas" точно мне не подойдет.

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от meksik Посмотреть сообщение
так почему в одинарных то ковычках
а зачем один пробел хранить в string, если char отлично справляется?

0
202 / 171 / 67
Регистрация: 04.10.2014
Сообщений: 839
11.10.2014, 16:25 8
rattrapper, у меня закончились варианты какая то странная фиговина

Добавлено через 2 минуты

Не по теме:

Цитата Сообщение от rattrapper Посмотреть сообщение
а зачем один пробел хранить в string, если char отлично справляется?
я почему то думал, что пробел не может быть записан как char о_О



Добавлено через 55 секунд
rattrapper, и это у меня путь к файлам без @

Добавлено через 34 секунды
не знаю как это может повлиять конечно, но черт его знает

Добавлено через 1 минуту
C#
1
2
3
4
                UPDATER.INSTALL_FILE = Application.ProductName + ".exe";
                UPDATER.UPDATER_FILE = Application.StartupPath + "\\Updater.exe";
                        NEW_FILE = INSTALL_FILE.Replace("exe", "upd");
                        NEW_FILE_PATH = Application.StartupPath + "\\" + NEW_FILE;
0
foo();
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
11.10.2014, 19:58  [ТС] 9
meksik, спасибо за старание, но это все не то. Уже не знаю куда копать
0
202 / 171 / 67
Регистрация: 04.10.2014
Сообщений: 839
11.10.2014, 20:02 10
rattrapper, а что серьезно все в верхнем регистре? даже расширение файлов?

Добавлено через 55 секунд
хотя ведь через cmd работает...
0
foo();
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
11.10.2014, 20:03  [ТС] 11
Цитата Сообщение от meksik Посмотреть сообщение
серьезно все в верхнем регистре?
да, Pascal так сохраняет
0
202 / 171 / 67
Регистрация: 04.10.2014
Сообщений: 839
11.10.2014, 20:44 12
rattrapper, я так понимаю, ошибка идет от самого компилятора, он не принимает входной параметр почему то
0
foo();
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
11.10.2014, 21:20  [ТС] 13
Цитата Сообщение от meksik Посмотреть сообщение
ошибка идет от самого компилятора
возвращаемся к первому посту, компилятор не виноват
0
202 / 171 / 67
Регистрация: 04.10.2014
Сообщений: 839
11.10.2014, 21:28 14
rattrapper, ну как последний вариант нет доступа из твоего приложения к файлу компилятора, запуск от имени админа не пробовал?
0
foo();
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
11.10.2014, 21:35  [ТС] 15
Цитата Сообщение от meksik Посмотреть сообщение
запуск от имени админа не пробовал?
не помогло
0
202 / 171 / 67
Регистрация: 04.10.2014
Сообщений: 839
11.10.2014, 21:38 16
rattrapper, дай щупануть файлы твои, пробну у себя запустить
0
foo();
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
11.10.2014, 21:48  [ТС] 17
meksik, в одном архиве компилятор - BPC, и необходимые для его работы файлы (вроде больше ничего не требует). Во втором - исходник
Вложения
Тип файла: rar Compiler.rar (114.8 Кб, 3 просмотров)
Тип файла: rar SourceCode.rar (367 байт, 3 просмотров)
0
202 / 171 / 67
Регистрация: 04.10.2014
Сообщений: 839
11.10.2014, 22:05 18
rattrapper, ок ща пощупаю

Добавлено через 9 минут
Указанный файл не является действительным приложением для данной системы

Добавлено через 2 минуты
ну хотя бы не выдает что параметр не верный)

Добавлено через 3 минуты
так намутил, жаль система не подходящая...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
            OpenFileDialog ofd = new OpenFileDialog() { InitialDirectory = @"D:\BPC\" };
            if (ofd.ShowDialog() == DialogResult.OK) 
            {
                Process p = new Process();
                p.StartInfo.FileName = ofd.FileName;
                p.StartInfo.Arguments = ofd.InitialDirectory + "LAB4.PAS";
                try
                {
                    p.Start();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
0
foo();
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
11.10.2014, 22:19  [ТС] 19
Цитата Сообщение от meksik Посмотреть сообщение
Указанный файл не является действительным приложением для данной системы
Я не уверен, но может dosbox нужно устанавливать, по крайней мере "IDE" без него точно не запускается. В любом случае, я все еще свято верю в то, что дело не в файлах
0
202 / 171 / 67
Регистрация: 04.10.2014
Сообщений: 839
11.10.2014, 22:23 20
rattrapper, ну кароче помог чем смог, удачи в решении проблемы)
0
11.10.2014, 22:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2014, 22:23
Помогаю со студенческими работами здесь

System.Disagnostics.Process.Start Error
У меня есть два консольных приложения. Назовём их ConsoleApp и ConsoleChecker Оба работают с одной...

Не открывает exe через Process.Start
Есть папка "1", в этой папке тоже есть папка "2" Запускаю "1.exe" с папки "1"......

Открытие txt в блокноте - не срабатывает Process.Start
Добрый день! Мне нужно, чтобы по нажатию кнопки открылся файл "Описание программы.txt", который...

Process.Start, как проверить существование exe
Мне нужно у клиента запускать приложения: Тут все понятно, написали и понеслась........

Как при Process.Start() указать текущую директорию
Уже обращался сегодня по теме запуска сторонних приложений, но тут возникла другая проблема. Решил...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru