C++ Probleme mit dem Ausführen mehrerer Programme via "ShellExecute()"

JetStre4m

Lieutenant
Registriert
Nov. 2007
Beiträge
578
Hallo, ich habe folgendes Problem: Ich habe ein kleines Konsolenprogramm geschrieben, das mehrere in einer Liste verzeichnete Programme starten soll. Hier ist der Code:
Code:
#include <iostream>
#include <cstdio>
#include <windows.h>

using namespace std;

int main()
{
    char rdin[250];
    FILE* rdf;
    rdf=fopen("progs.txt", "r");
    if(!rdf) exit(0);
    while(!feof(rdf))
    {
        fgets(rdin, 250, rdf);
        ShellExecute(NULL, "open", rdin, NULL, NULL, 0);
    }
}
Wenn ich nur ein Programm in der Liste habe funktioniert das Ganze wunderbar. Wenn ich allerdings mehrere Programme starten will, wird nur das Letzte in der Liste stehende Programm ausgeführt. Woran könnte das liegen?
 
hi,

soweit ich weiß, schreibt fgets() auch den Zeilenumbruch in den String rein -> daher werden wohl (vermutlich) alle Programme, die in ihrem (absolutem) Pfad ein Zeilenumbruch enthalten nicht gestartet.
 
Zurück
Oben