Konsolenanwendung im Hintergrund ausführen
-
Hallo,
ich möchte gerne eine Konsolenanwendung (imagemagick) im Hintergrund ausführen lassen um damit die Grösse von Bilder zu verändern.
Mit der Funktion system() funktioniert der Konsolenaufruf ohne Probleme nur leider öffnet mir Windows dabei für jede Datei kurzzeitig ein neues Konsolenfenster.
Das möchte ich nun unterbinden. Weiß aber leider nicht wie?Vielen Dank für Eure Hilfe!
-
ShellExecute(...);
halt mit SW_HIDE

-
Vielen Dank für die schnelle Hilfe

Nur leider funktioniert das mit ShellExecute() bei meinem Konsolenbefehl nicht, da keine ausführbare Datei aufgerufen wird.
Das Kommando lautet so:
"convert C:\\bilder\\bild1.jpg -resize 800x800 -quality 75 C:\\bilder\\umbenannt\\bild1.jpg"Ich hab´s jetzt mit _tsystem() versucht und es funktioniert soweit auch nur leider habe ich immer noch das Konsolenfenster im Vordergrund.
Wie kann ich das jetzt "verschwinden" lassen?
-
mit ShellExecute geht es. du hast es nur falsch benutzt. zeig mal deinen aufruf!
-
Das habe ich mir auch schon gedacht.
Mein Aufruf sieht so aus:
ShellExecute(NULL,"open","convert C:\\bilder\\bild1.jpg -resize 800x800 -quality 75 C:\\bilder\\umbenannt\\bild1.jpg",NULL,NULL,SW_HIDE);
-
Die Parameter kommen in einen seperaten String.
lpFile
"convert.exe"
lpParameters
"C:\\bilder\\bild1.jpg -resize 800x800 -quality 75 C:\\bilder\\umbenannt\\bild1.jpg"
-
Vielen Dank, funktioniert einwandfrei!!!