| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > передача данных в работающую программу |
| Автор: snake12 24.5.2008, 12:03 |
| Запущена программа с консолью, на примере cmd.exe консоль эта уже запущена и останавливать запускать/её мне её не надо. Данные там принимаются с клавиатуры тоесть stdin Нужно "написать" в этой консоли некий текст. Раньше я использовал sendkeys/keybd_event(), но держать окно активным не получается. Сказали смотреть в сторону direct input доку я почитал но конечно ничего не понял, потому очень поможет кусочек кода. Желательно либо чтото кросс платформенное либо версия для линуксов и виндоусов./ Примного благодарен. Ну и само собой вопрос по теме, как получиьт идентификатор запущенной программы для того чтобы в неё стото передавать. |
| Автор: jonie 24.5.2008, 12:58 |
| в винде делается перехватом каналов на чтение и запись. т.е. мы захватываем pipe на чтение и на запись, и организуем то что нам надо, манипулируя ими. думаю в *n?x также. зачем эмулировать ввод, если можно подсовывать нужные данные?) |
| Автор: anatox91 24.5.2008, 13:00 |
| посмотри это http://doc.trolltech.com/4.4/qprocess.html http://doc.trolltech.com/4.4/qprocess.html#pid и еще в тему - http://img359.imageshack.us/img359/9906/aboutqprocessoz2.jpg но не знаю, можно ли так сделать, если процесс уже запущен... |
| Автор: snake12 24.5.2008, 14:17 |
| jonie, Ну вообщем я так и пробовал, но только открыть pipe у меня не получается совсем =( Можешь подказать как это сделать? |