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

Ваш аккаунт

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

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

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

взаимодействие с консольным процессом

4.0K
29 мая 2009 года
ApokALEXIS
112 / / 23.08.2006
Хочу подключить к своей проге (оконной, C#) консольный плеер.
Открывается в консоли, выдает теги трека, реагирует на нажатия клавиш (управление)

Для этого в своей проге пишу
Код:
var proc = new Process();
            proc.StartInfo.FileName = Application.StartupPath + "\\mplayer.exe";
            proc.StartInfo.Arguments = "\"C:\\Lochness.mp3\"";
            proc.StartInfo.CreateNoWindow = true;
            proc.StartInfo.UseShellExecute = false;  
            proc.StartInfo.RedirectStandardOutput = true;
            proc.StartInfo.RedirectStandardInput = true;
           
            proc.Start();
            StreamWriter sw = proc.StandardInput;
            StreamReader sr = proc.StandardOutput;


без строчки
proc.StartInfo.UseShellExecute = false;
нельзя перенаправить стандартный ввод и вывод плеера, откравается окошко консоли

с ней окно не открывается, поток перехватывается (считывание)

Программа выводит
 
Код:
MPlayer Sherpya-SVN-r29280-4.5.0 (C) 2000-2009 MPlayer Team

getch2: 6 can't get number of input events  [disabling console input]
итд...


ну и чтобы я не писал во входящий поток плеера он не реагирует.

Как можно организовать ввод и вывод в данном случае?
4.0K
29 мая 2009 года
ApokALEXIS
112 / / 23.08.2006
собственно я могу открыть без консоли - тогда могу только читать аутпут
либо открыть консоль и посылать ей команды например через
Console.Write(PostMessage(hwnd, WM_KEYDOWN, VK_F, 1));

но одновременно и то и другое не получается))

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