Hiho,
ich möchte in einem c++ programm ein anderes programm aufrufen … tja, aus c bin ich so command gewöhnt … was gibts da in c++ für möglichkeiten ?
gruss
berni
Hiho,
ich möchte in einem c++ programm ein anderes programm aufrufen … tja, aus c bin ich so command gewöhnt … was gibts da in c++ für möglichkeiten ?
gruss
berni
exec? spawn? ShellExecute
Hi Florian,
du kannst programme mit
exec?(…), ShellExecute(…) und spawn?(…) aufrufen.
[Für das ‚?‘ kommt noch ein Buchstabe [z.B. ‚l‘], sieh in der Hilfe nach]
exec? kehrt nicht mehr zu deinem Programm zurück, d.h. alles was nach dem Aufruf steht, ist vergeblich geschrieben.
Shellexecute weiß ich gerade nicht mehr so genau, aber ich habe es nicht benutzt, irgendwas war da nicht so gut.
Ich favorisiere ja spawnl , das einen neuen Prozess erzeugt und zu deinem Programm zurückkehrt; wahlweise nach Beendigung des Programms oder parallel. (mit wait(…) / cwait(…)) kannst zusätzlich du auf den Prozess warten.
spawn? liefert dir die Job-ID wenn es klappt (brauchst du z.B. für cwait), wenn der Aufruf irgendwie schief ging, gibt’s ne -1.
Hoffe, das half erst mal, wenn du mehr wissen willst (zu den Parametern??), sag bescheid.
Bis dann,
Jan
hi jan,
merci für den tip, funzt alles gut … ich hab nur ein kleines Frontend für windows zu zwei kleinen POSIX-progrämmchen geschrieben … (netzwerk-stuff … ich hasse winsock
schlussendlich hab ichs so gemacht:
spawnl(P_DETACH, „dial.exe“, „dial.exe“, NULL);
gruss
Flöru