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]
итд...
getch2: 6 can't get number of input events [disabling console input]
итд...
ну и чтобы я не писал во входящий поток плеера он не реагирует.
Как можно организовать ввод и вывод в данном случае?
либо открыть консоль и посылать ей команды например через
Console.Write(PostMessage(hwnd, WM_KEYDOWN, VK_F, 1));
но одновременно и то и другое не получается))
может както можно считать из открытого окна консоли?