batch datei aufrufen in visual c++

Gast #1333847
Lesenswert?
• ▲
▼
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
Persönliche Seite #1333870
Lesenswert?
• ▲
▼
> 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
STARTUPINFO SInfo;
2
PROCESS_INFORMATION PInfo; 
3
DWORD dwExitCode;
4

5
memset(&SInfo, 0, sizeof (STARTUPINFO));
6
SInfo.cb = sizeof (STARTUPINFO);
7

8
// eigene Statup-Informationen als Ausgangsbasis verwenden ...
9
GetStartupInfo(&SInfo);
10

11
SInfo.wShowWindow = SW_NORMAL;
12

13
if (CreateProcess(NULL, "c:\\temp\\blafusel.bat", NULL, NULL, FALSE, CREATE_NEW_CONSOLE | NORMAL_PRIORITY_CLASS, NULL, NULL, &SInfo, &PInfo))
14
{
15
  while (WaitForSingleObject(PInfo.hProcess, 1000) != WAIT_OBJECT_0);
16

17
  dwExitCode = 0;
18

19
  if (!GetExitCodeProcess(PInfo.hProcess, &dwExitCode))
20
  {
21
    // Fehlerauswertung, GetExitCodeProcess schlägt fehl
22
  }
23

24
  // dwExitCode kann hier ausgewertet werden              
25
}
26
else
27
{
28
  // Fehlerauswertung, CreateProcess schlägt fehl
29
}
Gast #1334318
Lesenswert?
• ▲
▼
@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ß
#1335132
Lesenswert?
• ▲
▼
Das kann doch nicht so schwer sein!

Ich habe es mal eben probiert...

Folgende Batchdatei c:\tmp\test.bat:
1
echo Hallo
zusammen mit dem Quelltext t.c:
1
#include <stdlib.h>
2

3
int main( int nargs, char **args )
4
{
5
  system( "cmd /C c:\\tmp\\test.bat" );
6
  return 0;
7
}

Kompiliert mit VS2005 in der Kommandozeile mit cl t.c läuft und
gibt "Hallo" aus.

Wo ist jetzt das Problem?
#1336091
Lesenswert?
• ▲
▼
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. :-(

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren