# Programm aus C++ Programm öffnen



## psycomantis (5. April 2004)

Wie kann ich bewirken das aus meinem Programm ein anderes geöffnet wird? 
Beispiel:

if(i==1)
  {
//hier sollte nun der Befehl stehnen mit dem ein Beliebiges anderes Programm geöffnet wird
  }


----------



## Ein_Freund (5. April 2004)

Versuch's mal mit der ShellExecute - Funktion. Das sollte funzen.


----------



## Daniel Toplak (5. April 2004)

Ich gehe mal davon aus, das das für Windows ist.
Am besten eigent sich da CreateProcess(), da es am flexibelsten ist.
Man kann die Rückgabewerte (Return-/Exitcode) eines Programmes erfahren, in dem man auf den Kindprozess wartet.
Desweiteren kann man dem stdin, stdout, stderr des Kindprozesses umleiten.
Das ganze hängt natürlich davon ab was genau du machen willst.
Evtl. reicht auch schon ein system().

Gruß Homer


----------



## Steiner_B (12. April 2004)

Man kann auch sagen:


```
include <process.h>
...
spawnl(Pfad des Programms,Parameter1,...,NULL);
...
```

Hier können beliebig viele (auch 0) Parameter an das Programm übergeben werden. Der letzte Wert muss aber immer NULL sein.


----------



## psycomantis (12. April 2004)

Irgentwas muss ich nicht verstanden haben:
Vieleicht könntet ihr mir Helfen. 
Ich habe die Exe Datei des Spieles Generäle unter C. 
Hier mein Code, mit dem ich versuche diese Exe zu öffnen.


```
[
#include <process.h>

void main()
{
	spawnl(C:\Generals,NULL,NULL);
}
]
```


----------



## psycomantis (12. April 2004)

Irgentwas muss ich nicht verstanden haben:
Vieleicht könntet ihr mir Helfen. 
Ich habe die Exe Datei des Spieles Generäle unter C. 
Hier mein Code, mit dem ich versuche diese Exe zu öffnen.


```
#include <process.h>

void main()
{
	spawnl(C:\Generals,NULL,NULL);
}
```

Wo liegt mein Fehler?


----------



## basd (12. April 2004)

Du hast im Pfad den Namen der Exe nicht angegeben ? Ein Slash \ ist ein Steuerzeichen und muss in einem string mit \\ angegeben werden !


----------



## jccTeq (13. April 2004)

> _Original geschrieben von psycomantis _
> *Irgentwas muss ich nicht verstanden haben:
> Vieleicht könntet ihr mir Helfen.
> Ich habe die Exe Datei des Spieles Generäle unter C.
> ...




Außerdem muss das ganze in Tüddelchen:



```
#include <process.h>

void main()
{
	spawnl("C:\\Generals.exe",NULL,NULL);
}
```


----------

