通过脚本驱动遗留的交互式 DOS 应用程序

发布于 2024-07-22 08:05:08 字数 525 浏览 4 评论 0原文

我需要用 GUI 封装一个交互式 DOS 应用程序。 DOS 应用程序不接受任何命令行参数。 因此,所有工作都必须交互完成。

完成工作的流程如下: 1. 在 DOS 命令提示符下启动 DOS 应用程序。 2. 出现一个屏幕,要求我们“按任意键开始” 3. 按任意键进入“菜单 1”,我们会看到以下选项: [C] ..创建新文件 [L] ..加载现有文件 [问] .. 相当程序 4. 按“L”将进入另一个屏幕,显示加载项目文件的默认驱动器。 如果驱动器不是所需的驱动器,“按 [空格键] 更改驱动器” 5.按“返回”确认驱动 6. 将显示所有相关的项目文件,然后我们可以使用上下左右箭头导航并按 Enter 加载文件。 7. 交互过程继续进行,直到生成文本输出。

我没有 DOS 应用程序的源代码。

有没有可用的工具可以让我通过定义文件驱动整个过程。 这样的工具将允许我开发一个 GUI 来完成工作,而不需要用户与旧的 DOS 应用程序交互。

谢谢。 大卫

I need to wrap an interactive DOS application with GUI. The DOS application does not accept any command line parameters. As such, all works have to be done interactively.

The process to get a job done is as follow:
1. Start the DOS application in DOS command prompt.
2. A screen appears and we are asked to "Press any key to start"
3. Pressing any key leads to "Menu 1" where we are presented with choices:
[C] .. Create new file
[L] .. Load existing file
[Q] .. Quite Program
4. Press 'L' will lead to another screen, that shows the default drive to load the project file. If the drive is not the desired one, "Press [SPACE BAR] to change Drive"
5. Press "return" to confirm the drive
6. All relevant project files will be displayed, we can then use up-down-left-right arrows to navigate and press enter to load the file.
7. And the interactive process goes on, until a textual output is generated.

I don't have the source code of the DOS application.

Is there any tool available that allow me to drive the whole process through a definition file. Such tool will allow me to develop a GUI to complete the job without needing the user to interact with the old DOS application.

Thanks.
David

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

囍孤女 2024-07-29 08:05:08

最简单的选择可能是使用 Quick Test Pro 来实现自动化。 如果您不关心屏幕上显示的内容,可以使用 SendKeys 函数来输入按键。 您可以在任何 Microsoft 语言/环境中使用 SendKeys。

What may be your easiest option is to use Quick Test Pro to do your automation. If you don't care what is displayed on the screen, you could use the SendKeys function to enter the key presses. You can use SendKeys from about any Microsoft language/environment.

优雅的叶子 2024-07-29 08:05:08

您可以使用 Windows Script Host 和 SendKeys< /a> 方法。 以下是来自 MSDN 的 VBScript 示例:

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

You could probably do this using Windows Script Host and the SendKeys method. Here's a VBScript example from 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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文