Hallo Leute,
ich habe ein Program in Visual C++ geschrieben und möchte eine Batch
Datei, welche von Program erstellt wird, aufruffen!
Wie mache ich das? Ich habe über ShellExecute probiert leider erfolglos!
Kann mir jemand so einen Befehlscode geben?
ShellExecute sollte schon gehen, zur not den cmd und als Parameter die
batch starten.
Warum sollte man aber sotwas tun, was kann den die batch datei was dein
c++ nicht kann?
ich muss ein paar Befehle z.B. avrdude ausführen und da hat man mir
empfohlen, das über Batch datei zu machen?
Kannst du mir vielleicht ein Beispiel geben wie ich, dass mit
ShellExecute machen kann
> ich muss ein paar Befehle z.B. avrdude ausführen und da hat man mir> empfohlen, das über Batch datei zu machen?
Und haben die, die das Dir empfohlen haben, auch begründet?
Davon abgesehen lassen sich Batchdateien auch mit CreateProcess
starten:
1
STARTUPINFOSInfo;
2
PROCESS_INFORMATIONPInfo;
3
DWORDdwExitCode;
4
5
memset(&SInfo,0,sizeof(STARTUPINFO));
6
SInfo.cb=sizeof(STARTUPINFO);
7
8
// eigene Statup-Informationen als Ausgangsbasis verwenden ...
Wenn Du in meinem Codebeispiel den String "c:\\temp\\blafusel.txt"
beispielsweise durch "c:\\windows\\notepad.exe" ersetzt, wird Dir
vielleicht was klar.
@Rufus t. Firefly
Also ich habe so gemacht wie du es gesagt hast, leider stelle ich gar
nichts fest. Es läuft einfach durch ohne was zu machen!
Ich habe dann nach CreatProcess in googgle geschaut, aber ich verstehe
trotzdem auf was du hinaus willst!
Gruß
Nein ich habe so wie Rufus gesagt hat c:\\temp\\blafusel.txt (bat)"
durch "c:\\windows\\notepad.exe" ersetzt.
ich versuche dann nochmal mit C:\temp\blafusel.bat
@Klaus Wachtler
Das Problem eine .BAT aufzuruffen habe ich schon gelöst. Es geht
eigentlich jetzt um Vorschlag "Rufus t. Firefly". Sprich nicht über
Batch Datei zu machen.
Hast Du denn in die von mir mit "// Fehlerauswertung" gekennzeichneten
Funktionszweige ein entsprechende Fehlerauswertung eingebaut? Lässt Du
Dir da jeweils das Resultat von GetLastError() anzeigen?
Du hast die Funktion ... eingebaut. Aha. Aber das Programm /läuft
einfach durch/.
Könntest Du Dich dazu bequemen, mal im Debugger im Single-Step-Betrieb
durch Dein Programm durchzugehen, um den Programmablauf zu sehen und die
Rückgabewerte der verschiedenen Funktionen anzusehen?
Rufus t. Firefly schrieb:
> Du hast die Funktion ... eingebaut. Aha. Aber das Programm /läuft> einfach durch/.
Hm, sollte das zwischen den Schrägstrichen nicht /als Kursivschrift
erscheinen/?
Ha! In der Tat: In der Vorschau war es bei mir kursiv, fertig gepostet
dann nicht mehr. :-(