|
|
|
Как передать построчно текст в другую прогу (DOS-exe)
|
|||
|---|---|---|---|
|
#18+
Задача у меня такая: 1) есть ДОС-приложение, запускаемое в оконном режиме под вынь98. Оно собою являет что-то типа интерпретатора, имеет свою командную строку. 2) в фоксе я подготавливаю текстовый файл в кодировке 866, каждая строчка из которого представляет собой определенную команду для той проги и завершается как и положено текстовику СНR(13) нужна прога, которая найдет окно ДОС-проги (хендл?) по хедеру окна того дос-приложения, активирует его (если оно не активировано) развернет его окно, если оно не развернуто и передаст с интервалом в, скажем, 3 сек построчно весь файл. В принципе все детали (header окна, интервал и тп) я и сам замучу, мне бы только нужно знать как выловить окно, активировать его и как бы "набирать в нем текст так, как будто с прогой работает чел" по типу keyboard("text") на форуме есть много примеров вылавливания окна с целью недопустить повторного запуска проги, но это не то, т.к. там обычно что-то дефайницца в среду и уже по этому признаку исчецца... а я ж не знаю че там это дос-приложение и куда дефайнит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 11:44 |
|
||
|
Как передать построчно текст в другую прогу (DOS-exe)
|
|||
|---|---|---|---|
|
#18+
СОЗДАЙ ФАЙЛ, ЗАПИШИ ЕГО НА ДИСК, А ИЗ ДРУГОЙ ПРОГИ ОТКРОЙ ЕГО - ВОТ И ВСЯ ПЕРЕДАЧА ИЗ ПРОГИ В ПРОГУ ИЛИ Я ЧТО-ТО НЕДОПОНЯЛ? ДЛЯ ЭТОГО ИСПОЛЬЗУЙ F - ФУНКЦИИ - РАБОТА С ФАЙЛАМИ НА НИЗКОМ УРОВНЕ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 11:57 |
|
||
|
Как передать построчно текст в другую прогу (DOS-exe)
|
|||
|---|---|---|---|
|
#18+
CTAC-KOЗадача у меня такая: 1) есть ДОС-приложение, запускаемое в оконном режиме под вынь98. Оно собою являет что-то типа интерпретатора, имеет свою командную строку. 2) в фоксе я подготавливаю текстовый файл в кодировке 866, каждая строчка из которого представляет собой определенную команду для той проги и завершается как и положено текстовику СНR(13) нужна прога, которая найдет окно ДОС-проги (хендл?) по хедеру окна того дос-приложения, активирует его (если оно не активировано) развернет его окно, если оно не развернуто и передаст с интервалом в, скажем, 3 сек построчно весь файл. В принципе все детали (header окна, интервал и тп) я и сам замучу, мне бы только нужно знать как выловить окно, активировать его и как бы "набирать в нем текст так, как будто с прогой работает чел" по типу keyboard("text") на форуме есть много примеров вылавливания окна с целью недопустить повторного запуска проги, но это не то, т.к. там обычно что-то дефайницца в среду и уже по этому признаку исчецца... а я ж не знаю че там это дос-приложение и куда дефайнит... Теперь дополнительные вопросы: - Что за "командная строка"? Значит ли это, что программе передаются параметры (типа: arj -a c:\temp\temp\dos.txt) или то, что в программе надо вводить команды (типа: open <server> в ftp-клиенте Putty)? Если первое, то это все решается очень просто: строки файла дополняются слева соответствующей командой, файл переименовывается в *.bat и запускается.... Если второе, то самый оптимальный вариант - найти и исправить исходники, чтобы была возможность считывать команды из файла... Если же анонсируется, что в программе такая возможность есть, то просто надо хорошо прочитать инструкцию :) Если все так "запущено", что надо сделать , а исходников нет, то необходимо будет эмулировать ввод с клавиатуры. Но это будет сложно сделать на Фоксе. Намного проще это будет сделать на С/С++ или Паскале/Делфи, так как на 99,99% потребуется доступ к API-функциям... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 12:25 |
|
||
|
Как передать построчно текст в другую прогу (DOS-exe)
|
|||
|---|---|---|---|
|
#18+
Если все так "запущено", что надо сделать , а исходников нет, то необходимо будет эмулировать ввод с клавиатуры. Но это будет сложно сделать на Фоксе. Намного проще это будет сделать на С/С++ или Паскале/Делфи, так как на 99,99% потребуется доступ к API-функциям... да-да, именно!, нужна эмуляция ввода с клавы!!! Про какие-то исходники и речи быть не может - то прога стороннего автора и она системного уровня и тд и тп, авторские права, короче это не тот путь. Проблема в том, что прога нужна на вчера (как у нас всегда и бывает) а я не си/дельфер/пасквилянт :( То есть я типа там че-то отдаленно вроде себе представляю, но чего это такое апи - мне не ведомо, но слово это умное слышал :) Даже догадываюсь что ПИ - нечто вроде Программ(инг) Интерхвейс, тока че такое А? И даже прикидываю что через энто междумордье проги под виндой общаются как с самой осью так и с другими прогами. И нет, мне не параметры передавать. Грубо говоря, чтобы было понятнее, эта ДОС-прога, что-то вроде текстового редактора (но по сути даже и близко не то). Или типа ТЕРМИНАЛ! Во! это точнее. мне нужно в этот терминал отправлять заготовленные в файло команды. И интервал нужен чтобы команды успевали выполниться. А мож есть уже такая прога? хотя она 99% мне не подойдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 13:30 |
|
||
|
Как передать построчно текст в другую прогу (DOS-exe)
|
|||
|---|---|---|---|
|
#18+
я просто подумал, что можно как-то (просто не знаю как) активировать окно той ДОС-проги (основываясь на название окна) и просто выполнять в этот момент оператор KEYB("txt") или KEYBOARD("txt") в цикле, пока файл не закончицца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 13:34 |
|
||
|
Как передать построчно текст в другую прогу (DOS-exe)
|
|||
|---|---|---|---|
|
#18+
CTAC-KO Если все так "запущено", что надо сделать , а исходников нет, то необходимо будет эмулировать ввод с клавиатуры. Но это будет сложно сделать на Фоксе. Намного проще это будет сделать на С/С++ или Паскале/Делфи, так как на 99,99% потребуется доступ к API-функциям... да-да, именно!, нужна эмуляция ввода с клавы!!! Про какие-то исходники и речи быть не может - то прога стороннего автора и она системного уровня и тд и тп, авторские права, короче это не тот путь. Проблема в том, что прога нужна на вчера (как у нас всегда и бывает) а я не си/дельфер/пасквилянт :( То есть я типа там че-то отдаленно вроде себе представляю, но чего это такое апи - мне не ведомо, но слово это умное слышал :) Даже догадываюсь что ПИ - нечто вроде Программ(инг) Интерхвейс, тока че такое А? И даже прикидываю что через энто междумордье проги под виндой общаются как с самой осью так и с другими прогами. И нет, мне не параметры передавать. Грубо говоря, чтобы было понятнее, эта ДОС-прога, что-то вроде текстового редактора (но по сути даже и близко не то). Или типа ТЕРМИНАЛ! Во! это точнее. мне нужно в этот терминал отправлять заготовленные в файло команды. И интервал нужен чтобы команды успевали выполниться. А мож есть уже такая прога? хотя она 99% мне не подойдет. API (Application Programming Interface) - набор "нативных" ("родных", "без лишних наворотов") функций для прямого общения с системой (в данном случае - Виндой; Как правило, лежат в dll-ках (kernel32.dll, shell32.dll, и др.)) Из этой серии - функция поиска запущенного приложения по имени окна... От себя могу добавить, что лучше это дело передать специалисту по С/С++ для написания дополнительной программулины-загогулины... :) Хотя... Помнится в ветке "Программирование" было обсуждение возможности игры без участия человека (эмуляция нажатий мышкой, клавиатурой и т.д.). И там всплывало имя программы с помощью которой можно что-то подобное делать.... Поищите... Может это то, что Вам надо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 14:20 |
|
||
|
Как передать построчно текст в другую прогу (DOS-exe)
|
|||
|---|---|---|---|
|
#18+
Станислав C. Помнится в ветке "Программирование" было обсуждение возможности игры без участия человека (эмуляция нажатий мышкой, клавиатурой и т.д.). И там всплывало имя программы с помощью которой можно что-то подобное делать.... Поищите... Может это то, что Вам надо... Нашел тот топик... Никаких ссылок... Но такие программы есть... Надо только поискать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 14:37 |
|
||
|
Как передать построчно текст в другую прогу (DOS-exe)
|
|||
|---|---|---|---|
|
#18+
Да я не сомневаюсь, вопрос только в том как мне задать поиск в гуглю. Я уже через поиск нашел че угодно, тока не то что надо. Даже нашел исходник на сях Как сделать имитацию ввода с клавиатуры для программы выполняющейся в DOS-окне Это же как раз то что мне и нужно, тока проверить не могу - нету у меня си... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 15:26 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=41&tid=1591522]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
33ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 286ms |

| 0 / 0 |
