PDA

View Full Version : [C] funzione che esegue un file .exe


nongio
17-01-2008, 14:29
Ciao a tutti...
Volevo farvi una domanda, Vorrei scrivere un programma (semplice, giusto da capire come si fa) che esegua un file .exe
ovvero, mettiamo che ho un un eseguibile in una cartella e io voglia lanciarlo tramite un altro programma...


#include <stdio.h>



FILE *stream;

int main ()
{
if ((stream=fopen("C:\Documents and Settings\nome utente \Documenti\programmazione\Struttura2\Debug\struttura2.exe", "a+"))==NULL)
{
printf("Impossibile aprire il file\n");
}
else
{
/* che devo scrivere per eseguirlo??*/;
}

return 0;
}


che fuinzione devo utilizzare per lanciare il file .exe??
grazie mille....

variabilepippo
17-01-2008, 14:49
Hai l'imbarazzo della scelta: WinExec, CreateProcess, ShellExecute, (system).

La documentazione ufficiale Microsoft (MSDN/Platform SDK) illustra il funzionamento di tutte le funzioni della Windows API, consultala prima di porre ulteriori domande.

71104
17-01-2008, 14:59
Hai l'imbarazzo della scelta: WinExec, CreateProcess, ShellExecute, (system). perché system è tra parentesi? non mi sembrava male come alternativa visto che era l'unica standard del C

variabilepippo
17-01-2008, 15:15
perché system è tra parentesi?

Per non inserirla d'ufficio nella Windows API, vista l'inesperienza dell'utente immagino che avrebbe faticato un po' nel trovarne il prototipo su MSDN. Tutto qui. :)

nongio
17-01-2008, 15:18
Grazie mille...allora mi documento;)
grazie ancora

cionci
17-01-2008, 23:27
Se vuoi restare sullo standard usa la system ;)

nongio
18-01-2008, 02:16
Se vuoi restare sullo standard usa la system ;)

Sisi è quello che ho fatto alla fine ;)
Va tutto alla perfezione come volevo...
grazie mille a tutti ;)