Hallo,
ich arbeite gerade an einem art "Programm-Verwaltungsprogramm". Und dazu muss ich von meinem Programm aus, andere Programme starten. Klappt auch, und habe dabei keine Probleme. Nur habe ich festgestellt, dass es da eine ganze Reihe von Funktionen gibt, die man verwenden kann.
1. CreateProcess()
2. ShellExecute()
3. WinExec()
Nun meine eigentliche Frage, welche Funktion ist am besten um andere Programme zu starten und welche nicht? Worin liegt genau der Unterschied dieser Funktionen.
Danke schon mal für alle Antworten
grüße
Wenn meine Antwort nützlich bzw. hilfreich war, würde ich mich sehr über eine Bewertung bzw. ein Danke sehr freuen.
Danke euch
Programmiere in C, C++ auf Windows XP, Vista und Windows 7
Spezialisiert auf Netzwerkprogrammierung, WinAPI uvm.
Stimmt,
system() gibt es auch noch, wobei da immer ein Konsolen-Fenster kommt. Ist nicht mehr so schön, wenn man WinAPI programmiert.
Momentan verwende ich immer die ShellExecute-Funkion, die ist nicht wirklich schwer zu handhaben und es klappt auch super.
Dann werde ich mir mal CreateProcess genauer anschauen.
Vielen Dank
Wenn meine Antwort nützlich bzw. hilfreich war, würde ich mich sehr über eine Bewertung bzw. ein Danke sehr freuen.
Danke euch
Programmiere in C, C++ auf Windows XP, Vista und Windows 7
Spezialisiert auf Netzwerkprogrammierung, WinAPI uvm.

Zitat von
sheel
ShellExecute hab ich selbst noch nie verwendet, laut MSDN ist es COM-Zeug.
Also nicht so einfach aufrufbar wie die anderen.
Also von der Verwendung ist es einfacher als CreateProcess aber natürlich nicht so mächtig. Ein Vorteil: Man kann damit auch Datendateien aufrufen. Sofern die Dateiendung im System registriert und mit einer Anwendung verknüpft ist wird dann automatisch diese Anwendung gestartet.
Gruß
MCoder
"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall