Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Передача данных через стандартные потоки

16K
31 мая 2006 года
qad
5 / / 24.05.2006
Хочу
Process proc=new Process();
proc.StartInfo.FileName="my.js";
proc.StartInfo.RedirectStandardInput=true;
proc.StartInfo.UseShellExecute=false; proc.Start();
System.IO.StreamWriter sw=proc.StandardInput; sw.WriteLine("hello world");
sw.Close();
Пишет что не может переопределить стандартный поток так как у *.js файлов его нет.
Порылся в MSDN и нашел такую тему, что *.js файл может иметь стандартный поток если его запускать с помощью cscript.exe. Попробовал, но компилятор все равно на процессе компиляции пишет, тоже самое. Он просто когда анализирует строку FileName и видит, что расширение - js отказывается выполнять RedirectStandardInput или какие-то еще стандартные потоки. Помогите, плиззз!!!
273
04 июня 2006 года
3A3-968M
1.2K / / 22.12.2005
Ты используешь неправильное приложение-хост скрипта (Script Host Application). Тебе нужен не CScript.exe, а WScript.exe
Чтобы запустить на выполнение твой скрипт, пишешь так:
Цитата:

wscript.exe my.js


Исходя из всего сказанного, сделай так:

 
Код:
Process proc=new Process();
proc.StartInfo.FileName="wscript.exe";
proc.StartInfo.Arguments="my.js";
proc.StartInfo.RedirectStandardInput=true;
proc.StartInfo.UseShellExecute=false; proc.Start();
System.IO.StreamWriter sw=proc.StandardInput; sw.WriteLine("hello world");
sw.Close();

И всё заработает
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог