php-cli.exe ohne dos-fenster?
-
ich möchte in meinem programm die php-cli.exe mit parametern aufrufen. das alleine geht wunderbar. ABER egal ob ich es per system() oder ShellExecute() aufrufen, ich bekomme immer kurzzeitig dieses hässliche schwarze dos-fenster!
habt ihr irgendeine idee, wie ich das unterbinden könnte?
-
ShellExecute(..., SW_HIDE);
-
hab ich scbon probiert, hilft leider auch nix...
-
Kann ich nicht nachvollziehen, wie sieht dein Aufruf konkret aus?
Tip für die Zukunft: Wie man Fragen richtig stellt.
-
gut, also window wird jetzt nicht mehr angezeigt, aber ich hab noch ein problem mit dem schreiben in die ausgabedatei... bei system mach ich das ganz einfach mit >> aber wie mach ich das mit shell-execute?
AnsiString file, para; file = ExtractFilePath(Application->ExeName)+ "\\php\\4\\php.exe"; para = "-f "+Notepads[TCtabs->TabIndex].FileName + " >> c:\\irgendwo\\temp\\irgendwas.html"; ShellExecute(Handle, "open", file.c_str(), para.c_str(), NULL, SW_HIDE);
-
Ich denke mal, dafür brauchst du CreateProcess.
Sieh dir am besten mal das Wintools-Projekt im \examples-Verzeichnis des BCB an, dort wird u.a gezeigt, wie man die Ausgaben von Kommandozeilenprogrammen umleitet (Stichwort pipes).
-
also, ich hab mir das angeschaut, aber das ist verdammt viel code-chinesisch...
kann das vielleicht irgendwer für mich auf das wesentliche beschränken, ich steig da einfach nich durch...
-
Da das ja nichts mehr mit der ursprünglichen Frage zu tun hat würde ich empfehlen, du verfasst einen entsprechenden neuen Beitrag, und diesmal gleich im WinAPI-Forum.
Vorschlag für den Titel: Ausgabe von externem Programm in Datei umleiten
-
damits auch jeder findet, der was dazuz zu sagen hat:
http://www.c-plusplus.net/forum/viewtopic.php?p=572303#572303