At work, we have an old mini-frame application that uses terminals and terminal emulation for its interface (both via serial communication). There is useful data that is readily available through terminals and the system’s printer. It would be quite helpful to pull that data into a modern database.
Because the reports that gather the data are already exising in the system, my idea was to write a PC program that would communicate with the miniframe through the COM port. It would just act like a user on a terminal, hitting the right menu choices, then parsing and interpreting the data that comes out.
As a shortcut to writing a terminal emulator, I thought we could just use the terminal emulator we already have running on PCs. The emulator software already can write out files of each of the screens it gets.
The question is how my little application can reach over and “type” into it as if someone were typing from the keyboard. I remember from the DOS days that you could run an application with a series of prewritten keystrokes. This won’t work for my application because 1) keystrokes before a screen refresh are ignored, and 2) the keystrokes won’t always be the same (it will depend on what is written out).
Some last details: though we run Win2000 machines, the emulator is an old DOS application. We’ve tried almost every windows-based emulator, but none seem to get the right keys working. The company that made this software is apparently out of business, so we can’t get an updated version. So we’re stuck with this one. When it runs in Win2000, in Task Manager it shows under the application name, and under processes, it appears as NTVDM.exe (NT virtual dos machine, IIRC).
I’ve attempted internet searches for a solution (almost any programming problem seems to have been asked and answered on the 'net), but can’t find the right combination of words to search under.
Since this will be a small program, if there is a solution that is available within a certain programming language, we can pick it up for this.