Ausgabeumleitung mit Shellexecute



  • Hallo !

    ich muss aus einer MFC-Anwendung aus ein DOS-Programm aufrufen. Bisher hab ich das immer mit dem "system" Befehl von C gemacht. Inzwischen hab ich das durch einen Aufruf mittels ShellExecuteEx ersetzt.
    Das Problem ist nun, daß ich seither die Ausgabe des DOS-Programms mittels eines angehängten " > file.txt" in ein File umleiten konnte. Mit ShellExecuteEx scheint das nun nicht mehr zu gehen.

    Hat jemand eine Idee?

    Gruß & Dank,

    rolF



  • zeig mal den aufruf



  • Übergib die Umleitung doch als Parameter.



  • Der Aufruf sieht so aus:

    string filename="spg2.exe";
    string params=" -num -V7 -path="+SPGOUTPATH+" -eq=equations.eq "+">"+SPGOUTPATH+"/spg.log";

    int result;
    string command="open";
    SHELLEXECUTEINFO info;
    info.cbSize=sizeof (info);
    info.lpFile=filename.c_str();
    info.lpParameters=params.c_str();
    info.lpDirectory=path.c_str();
    info.fMask=SEE_MASK_NOCLOSEPROCESS;
    info.lpVerb=command.c_str();

    info.hwnd=DOC->FENSTER_STATUS->m_hWnd;
    info.nShow=SW_HIDE;

    result=ShellExecuteEx(&info);

    es wird also bereits die Umleitung als Parameter übergeben (">spg.log")
    das tut aber nicht.

    Gruß,

    Rolf


Log in to reply