probleme mit ShellExecute
-
Hallo,
ich hoffe jemand kann mir bei meinem Problem weiterhelfen.
Ich möchte mit der ShellExecute folgenden Befehl übergeben:
C:\Programme\UGS\NX4\UGII\ug_inspect.exe -full "D:\UniGraphics\Part-Files\Uebung.prt" >C:\Temp\output.txt
Das aufgerufene Programm liest Datei-Attribute aus einer Datei aus und speichert diese in ein Text-Datei.
Hier mein Code dazu:
ShellExecute(NULL,"open", stBefehl.c_str(), stParams2.c_str() ,NULL, SW_SHOWNORMAL);
stBefehl.c_Str() beinhaltet die exe-Datei:
C:\Programme\UGS\NX4\UGII\ug_inspect.exestParams2.c_Str() beinhaltet die Parameter für das Programm:
-full "D:\UniGraphics\Part-Files\Uebung.prt" >C:\Temp\output.txtIch vermute, dass es in stParams2 an ">C:\Temp\output.txt" liegt, da dies eigenltich nicht mehr zu den Parametern der EXE-Datei gehört, sondern ein Befehl für die Ausgabe in eine txt-Datei ist.
Im Prinzip muss ich die exe-Datei, die erfordelchen Paramter für die Exe-Datei und den Befehl zum schreiben in die txt-Datei übergeben.
Funktioniert das überhaupt mit ShellExecute?
Im voraus schon mal Danke für die Hilfe
Grüße
Michael Zimmer
-
Hallo,
So auf Anhieb würde ich sagen :
-full "D:\UniGraphics\Part-Files\Uebung.prt >C:\Temp\output.txt"
Sonst hast Du doch 3 Parameter die Du übergibst.
Du willst aber nur 2 übergeben :-full
D:\UniGraphics\Part-Files\Uebung.prt >C:\Temp\output.txtNash
-
Hi jamiger,
Deine Vermutung stimmt, es liegt an dem >. Diese Ausgabeumleitung ist ein Feature des CMD-Prozessors. Den solltest Du starten und den kompletten Aufruf als Parameter mitgeben (wie in einer BAT-Datei).
Oder Du machst es gleich richtig mit CreateProcess(). Ist etwas aufwendiger, aber da kannst Du die Umleitungsdateien selbst vorher anlegen und mitgeben.
Gruß vom 1/4
-
Hallo,
ich liege noch in den Anfängen mit C++ und bräuchte etwas Hilfestellung, wie ich mein Problem mit CreateProcess lösen kann.
-
hi,
evtl. hiermit:
[url]
http://www.bytesandmore.de/rad/cpp/snipp/sc03025.php
[/url]
-
da gab es hier schon mal einen thread dazu:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-139302-and-highlight-is-.html