PDA

Visualizza la versione completa : [C++] Lanciare un programma e aspettare che finisca


frarugi87
20-05-2007, 20:05
Devo fare un programma in C++ che modifichi il registro, lanci un programma e poi, quando il programma lanciato esce, rimetta a posto il registro.

Per la parte sul registro č un'altra faccenda. Come faccio perņ a far partire un altro programma e ad aspettare che finisca di essere eseguito?

oregon
20-05-2007, 20:07
In Windows ti consiglio la CreateProcess e la WaitForSingleObiect ...

frarugi87
20-05-2007, 20:26
spero che ci siano anche in windows CE...

oregon
20-05-2007, 20:33
Ovviamente ci sono, essendo funzionalita' core ... ma sarebbe bene che tu indicassi prima con quale sistema devi lavorare nell'esporre i tuoi problemi ...

CreateProcess
http://msdn2.microsoft.com/en-us/library/ms885182.aspx

WaitForSingleObject
http://msdn2.microsoft.com/en-us/library/aa450988.aspx

frarugi87
20-05-2007, 21:17
ma sarebbe bene che tu indicassi prima con quale sistema devi lavorare nell'esporre i tuoi problemi ...

chiedo scusa.....

Comunque potreste farmi un esempio veloce di come usare quelle due funzioni? ad es per lanciare pippo.exe ed aspettare fino al termine della sua esecuzione..

oregon
20-05-2007, 21:28
Beh ... anche se avresti potuto trovare qualcosa tra i mille esempi su google ...



PROCESS_INFORMATION pi = {0};
STARTUPINFO si = {sizeof(si)};
si.wShowWindow = SW_NORMAL;

CreateProcess(_T("pippo.exe"), _T(""), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
WaitForSingleObject(pi.hProcess, INFINITE);
MessageBox(NULL, _T("finito"), NULL, 0);

frarugi87
20-05-2007, 22:21
ok... grazie... provo e poi faccio sapere se ci riesco...

Loading