Wie wäre es mit: std::system("dosbox -c myCommand");
(vorausgesetzt, dosbox.exe
und Ihre benutzerdefinierte sind in Ihrem Weg)?
Um zwei im Hintergrund zu starten, tun:
std::system("start dosbox -c myCommand1");
std::system("start dosbox -c myCommand2");
// Program has launched these in the background
// and continues execution here.
Alternativ könnten Sie einen Thread für jeden std::system()
Aufruf spin up:
auto cmd1 = std::async([] { std::system("dosbox -c myCommand1"); });
auto cmd2 = std::async([] { std::system("dosbox -c myCommand2"); });
// Program is launching these in the background
// and continues execution here.
Sie auch den Rückgabewert überprüfen möchten können für jeder std::system()
Anruf, um sicherzustellen, dass es gelungen ist.
aktualisieren: Sie fragen, wie zwei Befehle in den Vordergrund in einem einzigen dosbox laufen, die in einem anderen Ordner befindet. Sie können den vollständigen Pfad so einzubetten:
std::system("c:\\MyDosBox\\dosbox.exe -c c:\\My\\Progams\\myCommand1.exe p1 p2 && c:\\Other\\myCommand2.exe p3 p4");`
entfernt Montage Tag –
Ja, sorry für die Verwirrung, ich die Versammlung Tag Ursache habe ich dosbox bin mit Code in assemblyx86 geschrieben laufen, aber obliviously die Frage hat nichts zu mit der Montage machen. Es tut uns leid. –