So führen Sie DOSBox in der Befehlszeile aus, ohne es in einem neuen Fenster zu öffnen

So führen Sie DOSBox in der Befehlszeile aus, ohne es in einem neuen Fenster zu öffnen

wie man es mit der Standard-Windows-Befehlszeile ausführt DOSBox(ohne es in einem neuen Fenster zu öffnen), das Bearbeiten des Quellcodes DOSBoxist eine Lösung, aber ich möchte wissen, ob es vor dem Neuaufbau keine andere Lösung gibt DOSBox.

anders

Gibt es eine andere Anwendung, die eine 16-Bit-Befehlszeilen-Anwendung in ausführen kann CMD?

ich habe es versucht DOSBox.exe -nonconsole, aber es ist nicht das, was ich suche. versucht ScummVMund D-Boxohne Ergebnis.

Antwort1

Ich weiß nicht, ob Ihnen die Antwort weiterhilft. Zumindest habe ich festgestellt, dass es möglich ist, DOSBox zu starten, Befehle auszuführen und es zu beenden. Dadurch kann ich automatisierte Tests auf DOSBox über Travis CI ausführen. Es wird jedoch weiterhin ein Fenster angezeigt und es wird kein Exit-Code an den Anrufer weitergegeben.

Der Befehl würde wie folgt lauten:

dosbox exit -c [your_command_here] >>log.txt" -noconsole -exit

Damit dies funktioniert, muss eine Datei exitim aktuellen Verzeichnis aufgerufen werden (da exitsie zuletzt ausgeführt wird und es sich voraussichtlich um einen externen Befehl handelt).

Ich verwende es log.txt, um Feedback vom DOS-Programm zu erhalten.

Meines Wissens ist es nicht möglich, DOSBox ohne Fenster auszuführen. Es wäre schön, wenn es den Exit-Code seiner Befehlsshell zurückgeben würde. Dies sollte meiner Meinung nach leicht zu implementieren sein, würde aber eine Quellcodeänderung erfordern.

Ich kann noch nicht positiv bewerten, aber ich denke, das ist eine nützliche Frage, da DOSBox zum Testen in einer 16-Bit-Umgebung verwendet werden kann. In diesem Sinne wäre die Frage eigentlich für StackOverlow geeignet.

Antwort2

DOSEMUkann dies in seiner sog.Dummmodus, z.B

dosemu -dumb DIR

Beachten Sie, dass es jetzt auch eine instabileDOSEMU 2. Mir ist nicht klar, ob es sich hier um eine Fortsetzung oder eine Abzweigung handelt.

Antwort3

Sie können hierfür NTVDMx64 verwendenhttp://www.columbia.edu/~em36/ntvdmx64.html

NTVDM ist das NT Virtual DOS Machine-Subsystem, das Teil der 32-Bit-Versionen von Windows war. Es konnte 16-Bit-MS-DOS-Programme im V86-Modus der CPU ausführen. Dieser Modus kann jedoch nicht verwendet werden, wenn die CPU im 64-Bit-Modus läuft. Glücklicherweise hatte Microsoft jedoch eine Version von NTVDM, die anstelle des V86-Modus einen Emulator verwendete. Diese Version ist durchgesickert und der obige Link enthält Informationen zur Verwendung.

verwandte Informationen