2009-06-01 1 views
1

Мне нужно обернуть интерактивное приложение DOS графическим интерфейсом. Приложение DOS не принимает никаких параметров командной строки. Таким образом, все работы должны выполняться в интерактивном режиме.Вождение унаследованного интерактивного приложения DOS через скрипты

Процесс выполнения заданий следующий: 1. Запустите приложение DOS в командной строке DOS. 2. Появится экран, и нам будет предложено «Нажать любую клавишу для запуска». 3. Нажатие любой клавиши приводит к «Меню 1», где нам предлагаются варианты: [C] .. Создать новый файл [L] .. Загрузите существующий файл [Q] .. Совершенная программа 4. Нажмите «L», чтобы перейти к другому экрану, на котором показан диск по умолчанию для загрузки файла проекта. Если диск не является желаемым, «Нажмите [ПРОБЕЛ], чтобы сменить диск« 5. Нажмите «возврат» для подтверждения диска 6. Отобразятся все соответствующие файлы проекта, затем мы можем использовать вверх-вниз-влево стрелки вправо для навигации и нажмите клавишу ввода для загрузки файла. 7. И интерактивный процесс продолжается, пока не будет создан текстовый вывод.

У меня нет исходного кода приложения DOS.

Есть ли какой-либо инструмент, который позволяет мне управлять всем процессом через файл определений. Такой инструмент позволит мне разработать графический интерфейс для выполнения задания без необходимости взаимодействия пользователя со старым DOS-приложением.

Спасибо. David

+0

У меня есть подобное желание, что я никогда не гнался, потому что я могу работать вокруг него с помощью вырезания и вставки из текста, выведенного с помощью сценария сборки перед CP/M эмулятор, запускаемого в античный эмулятор Z80, работающий в режиме совместимости с DOS, запускается в системе XP Pro. – RBerteig

ответ

1

Какой может быть ваш самый простой вариант - использовать Quick Test Pro для автоматизации. Если вам все равно, что отображается на экране, вы можете использовать функцию SendKeys для ввода нажатий клавиш. Вы можете использовать SendKeys из любого языка/среды Microsoft.

1

Возможно, это возможно с помощью Windows Script Host и метода SendKeys. Вот пример VBScript из MSDN:

Set WshShell = WScript.CreateObject("WScript.Shell") 
WshShell.Run "calc" 
WScript.Sleep 100 
WshShell.AppActivate "Calculator" 
WScript.Sleep 100 
WshShell.SendKeys "1{+}" 
WScript.Sleep 500 
WshShell.SendKeys "2" 
WScript.Sleep 500 
WshShell.SendKeys "~" 
WScript.Sleep 500 
WshShell.SendKeys "*3" 
WScript.Sleep 500 
WshShell.SendKeys "~" 
WScript.Sleep 2500 
Смежные вопросы