如何DOSBox
使用默认的windows命令行运行(不在新窗口中打开),编辑的源代码DOSBox
是一个解决方案,但我想知道在重建之前是否没有其他解决方案DOSBox
。
别的
是否有任何其他应用程序可以在其中运行 16 位命令行应用程序CMD
。
我试过了,DOSBox.exe -nonconsole
但这不是我要找的。试过了ScummVM
,D-Box
没有结果。
答案1
我不知道这个答案是否对你有用。至少,我发现可以启动 DOSBox、执行命令并退出它。这使我能够通过 Travis CI 在 DOSBox 上运行自动测试。不过仍然会有一个窗口,并且它不会将退出代码传播给调用者。
命令如下:
dosbox exit -c [your_command_here] >>log.txt" -noconsole -exit
为了使其工作,您必须exit
在当前目录中有一个名为的文件(因为exit
它最后运行,并且应该是外部命令)。
我用来log.txt
从 Dos 程序获取反馈。
据我所知,没有窗口就无法运行 DOSBox。如果它返回其命令 shell 的退出代码就好了。我认为这应该很容易实现,但需要更改源代码。
我还不能点赞,但我确实认为这是一个有用的问题,因为 DOSBox 可用于在 16 位环境中进行测试。从这个意义上讲,这个问题实际上适合 StackOverlow。
答案2
答案3
您可以使用 NTVDMx64 来实现此目的http://www.columbia.edu/~em36/ntvdmx64.html
NTVDM 是 NT 虚拟 DOS 机子系统,是 32 位 Windows 版本的一部分。它能够使用 CPU 的 V86 模式运行 16 位 MS-DOS 程序。但是,当 CPU 以 64 位模式运行时,无法使用此模式。但幸运的是,微软有一个使用模拟器而不是 V86 模式的 NTVDM 版本。这个版本已被泄露,上面的链接提供了有关如何使用它的信息。