# Im c Programm Exe Datei ausführen



## rock (13. Februar 2004)

hallo erstmal,

weiss jemand mit welchem befehl man in einem c programm
ein weiteres programm ausführt? (.exe)

bsp.

in einer c serverapplikation (main.exe) möchte ich noch einen weiteren service 
einbauen, eine zusätzliche serverapplication (bsp. service.exe) und im 
standhaften main.exe laufen lassen dies sollte sich jedoch auf ein task 
begrenzen.

danke für eure antworten

mfg r0ck


----------



## fhr (14. Februar 2004)

mir fällt so aus dem Kopf nur ShellExecute() ein.
Das kenn ich aber nur aus C++. Weiß nicht ob das von C kommt.
Musst halt mal probieren.

Ich hab mal in der MSDN gesucht, da stehen die ganzen Parameter die du mitgeben kannst (musst)...

http://msdn.microsoft.com/library/d...rm/shell/reference/functions/shellexecute.asp

hoffe es klappt


----------



## Sway (14. Februar 2004)

ich habe gerade erst angefangen c++ zu lernen, daher weiss ich nicht ob *system("PROGRAMMNAME");* das ist was du vielleicht suchst


----------



## fhr (14. Februar 2004)

ja... system kenn ich auch!   

habs aber  immer nur verwendet um DOS-Befehle auszuführen... z.B. 'net send' ...


----------



## BlackLordOfDragons (14. Februar 2004)

Ich weiß nicht ob das auch in C geht, aber probier es mal:

http://www.online-tutorials.net/files/text_version.php?open=2&menu=1&id=47


----------



## Kachelator (14. Februar 2004)

Klar, das geht. Allerdings soll man wohl neuerdings CreateProcess statt WinExec nehmen. WinExec ist wohl nur noch für 16Bit-Kompatibilität drin, glaube ich. Übrigens wird das nur mit WIndows funktionieren, nehme ich an.


----------



## rock (14. Februar 2004)

danke für eure antworten, hat mir geholfen!


mfg r0ck


----------



## rock (17. Februar 2004)

doch noch eine frage..
muss ich für ShellExecute eine bestimmte datenbank laden?
er erkennt den befehl ShellExecute nicht einfach so, ich habe
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
geladen fehlt da was?

mfg r0ck


----------



## Mr.Undertaker (17. Februar 2004)

Für sowas schau einfach bei http://www.msdn.com nach.

Habs aber für dich gemacht:

Header:              shellapi.h 
Import library:    shell32.lib


----------



## Kachelator (17. Februar 2004)

> muss ich für ShellExecute eine bestimmte datenbank laden?
> er erkennt den befehl ShellExecute nicht einfach so, ich habe
> #include <stdio.h>
> #include <stdlib.h>
> ...


 Gute Frage. Ich habe mal gesucht, nachgelesen und rumprobiert, aber keine Lösung gefunden.

Für CreateProcess und WinExec reichen die <windows.h>; vielleicht verwendest du besser die.

-----

Mr.Undertakers Post und meiner haben sich überschnitten; ich habe seinen Vorschlag mal ausprobiert. Hat zuerst nicht geklappt. Scheint aber auch in einer Konsolenanwendung zu gehen, wenn man da reinsetzt:

```
#include <windows.h>
#include <shellapi.h>
#pragma comment ( lib, "shell32.lib" )
```
Die Pragma-comment-Zeile sorgt dafür, das die Library dazugelinkt wird, ohne dass man sie extra im Arbeitsbereichsbaum ins Projekt einfügen muss. Sehr praktisch, wie ich finde.


----------



## rock (17. Februar 2004)

danke für eure schnellen antworten
also ich probiere es jetzt mit CreateProcess..
mir wurde angegeben das ich einfach

```
CreateProcess (NULL, "C:\\Dokumente und Einstellungen\\Administrator\\Desktop\\test\\services.exe");
```
verweden könnte und dies sollte funktionieren.

ist aber nicht der fall, das sind zuwenig parameter oder?

mfg r0ck


----------



## Kachelator (17. Februar 2004)

Hm? Hast du keine Dokumentation? Bei meiner Version vom Visual Studio war die MSDN Library dabei. Die gibt es aber auch online. Versuch mal das zu CreateProcess .


----------



## Mr.Undertaker (17. Februar 2004)

Hier ist das Bsp dazu:
klick mich


----------



## tBLo (4. August 2005)

hOi, 

ich brauch das ganze halt in C++ und will kein neuen Thread öffnen .. deswegen frage ich ob ihr mir den ganzen Code posten könnt, den man brauch um bei nem Button einzufügen ? ..

Also ich bau' ein Programm das alle Wichtigen Proggs beeinhält [Word, Paint, IE...] und die man per Button öffnen kann .. [Schaltfläche] im Visual C++ 6.0

P.S. ICH BIN EIN !


----------



## Tobias K. (4. August 2005)

moin


Hast du schonmal mit der MFC oder mit WinApi gearbeitet?

WinApi: http://www.win-api.de
MFC: http://download.pearsoned.de/leseecke/VCPLUS6_21Tg/data/start.htm

Du findest bei beiden Links Beispiele dafür, aber "mal ebenso" geht das beides nicht.


mfg
umbrasaxum


----------

