views:

259

answers:

2

Is there a way to automate an old DOS application (16-bit, probably needs an emulator such as DOSBox) from Python (on Windows)? I would like to send keys and strings to the application, detect updates to the DOS "screen" and get the application output.

It would be even better if the DOS application could run "hidden", i.e., not showing in the taskbar.

Note: It is not a game, it is one of those old application where you are given menus with press 1 for something, press 2 for something else, etc... then it asks for some input numbers, and then it shows some results. It is a pure console application.

Note2: It doesn't need to use DOSBox necessarily... could be done with other emulators such as Bochs

+2  A: 

Sorry, can't reply yet so you're getting an 'answer' instead.

This question is probably closely related to this Stack Overflow question.

Matt Garrison
There are no "threads" on Stack Overflow. Just questions. Perhaps you mean "This stack overflow question".
S.Lott
Popen piping stdin and stdout does not work... It seems that DOSBox is not a "true" console application with stdin/stdout...
e.tadeu
+1  A: 

I'm not familiar with DosBOX or whether it has an external API. However, for Sun VirtualBox there is a python API, so if it is OK to run DOS on a VM, you could easily use the VirtualBox Python API to control & automate the application you run on the DOS.

You can download the VirtualBox SDK here

Kimvais