|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Nov 2007
Messaggi: 29
|
[C] Esecuzione file exe
Salve a tutti. Ho un problema sull'esecuzione di più file .exe.
Prima di tutto faccio presente che sono uno con scarsa esperienza di programmazione, quindi vi prego di non infamarmi troppo. Io vorrei creare un file (.exe) che mi esegua altre 3 file (sempre .exe) che ho nella stessa cartella. Ho trovato on line il fatto che devo usare la funzione system ("path del file da eseguire"); Ma mi restituisce errore 2 errori in 3 righe. Quello che io vorrei fare è semplicemente questo: 1)eseguire il file 1 attendere che sia finita l'esecuzione 2) eseguire il file 2 attendere che sia finita l'esecuzione 3) eseguire il file 3) attendere che sia finita l'esecuzione 4) attendere che io gli dica di ripartire A logica l'avevo fatto for (i=0;i=10;i++) {esegui file1; attendi che finisca; esegui file2; attendi che finisca; esegui file3; attendi che finisca; string="no"; while(stringa!="si") { printf("Si ricomincia?"); scanf("%s",&string); } } Comprensibile? Grazie a tutti per l'aiuto. Ultima modifica di Babbino79 : 26-03-2008 alle 16:11. |
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
in questo caso oltre al linguaggio dovresti specificare anche il sistema operativo perché l'esecuzione di processi in C non è portabile (cioè si fa in maniera diversa da un sitema all'altro: su Linux c'è la fork, su Windows la CreateProcess).
|
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Nov 2007
Messaggi: 29
|
Saltello da un sistema all'altro, ma in questo caso utilizzo Windows (e Microsoft Visual 6 se interessa).
|
|
|
|
|
|
#4 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
http://msdn2.microsoft.com/en-us/library/ms682425.aspx http://msdn2.microsoft.com/en-us/library/ms687032.aspx dopo aver creato un processo con CreateProcess usa CloseHandle per chiudere l'HANDLE del thread primario restituito nella struttura PROCESS_INFORMATION, e poi WaitForSingleObject per attendere sull'HANDLE del processo (che equivale ad attendere la chiusura, brutale o meno, dello stesso); alla fine chiudi con CloseHandle anche l'HANDLE del processo. |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Sep 2007
Messaggi: 1882
|
ma se bisogna aprire dei file non basta fare un fiel .bat con dei comandi ms-dos
__________________
Adepto dell'Ordine "GLI ADORATORI DEL SACRO UNTO" |
|
|
|
|
|
#6 | |
|
Junior Member
Iscritto dal: Nov 2007
Messaggi: 29
|
Quote:
Ho preso un file txt e ho scritto start "path" start "path" Poi l'ho rinominato .bat Eseguo e mi da errore. Dove sbaglio? |
|
|
|
|
|
|
#7 | |
|
Junior Member
Iscritto dal: Nov 2007
Messaggi: 29
|
Quote:
|
|
|
|
|
|
|
#8 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
a scelta, nel primo o nel secondo parametro; meglio il primo perché il secondo non è const e quindi è una lagna (deve essere un'area di memoria modificabile, quindi la devi allocare appositamente, tipicamente nell'heap, e ricopiarci il path).
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Quote:
start file.exe dagli il path corretto e funziona nel file bat come prima riga metti: @echo off start c:\cartella\file.exe lascia stare quelle letture sono cose da scienziati Ultima modifica di okay : 26-03-2008 alle 17:05. |
|
|
|
|
|
|
#10 | |
|
Junior Member
Iscritto dal: Nov 2007
Messaggi: 29
|
Quote:
@echo off a cosa serve? Grazie tante a tutti (anche agli scienziati! |
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:16.




















