Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - apire un programma .exe in c++
Forum - C/C++ - apire un programma .exe in c++

Avatar
marc 966 (Normal User)
Rookie


Messaggi: 32
Iscritto: 04/09/2009

Segnala al moderatore
Postato alle 22:06
Domenica, 06/09/2009
ciao ragazzi. vorrei sapere se è possibile aprire un altro programma .exe all' interno di un progetto c++:
per esempio voglio un programma che a seconda del tasto cliccato mi apra un programma:
se schiaccio 1 mi apre la calcolatrice,
se schiaccio 2 mi apre il blocco note,
e così via, è possibile????

PM Quote
Avatar
vince92 (Normal User)
Rookie


Messaggi: 29
Iscritto: 18/11/2008

Segnala al moderatore
Postato alle 22:19
Domenica, 06/09/2009
Includi <cstdlib> nel tuo programma e usi la funzione system().

Per avviare un programma puoi fare in questo modo
system("start nomeprogramma.estensione");

Per esempio per la calcolatrice fai system("start calc.exe") e per il blocco note ("start notepad.exe").

Se vuoi avviare un exe in particolare, indicane il percorso assoluto.

Ultima modifica effettuata da vince92 il 06/09/2009 alle 22:20
PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 23:15
Domenica, 06/09/2009
Non è necessario mettere system("start calc.exe"), basta system("calc.exe")!


"E' facile distruggere, la vera sfida è creare!"(cit. me)

"Ricordati chi sei, non permettere a nessuno di cambiarti, non perdere mai te stesso. Farai grandi cose nella vita."(cit. me)

double penetration; //ouch
PM Quote
Avatar
steve__92 (Normal User)
Rookie


Messaggi: 22
Iscritto: 14/07/2009

Segnala al moderatore
Postato alle 23:57
Domenica, 06/09/2009
ho una domanda anche io...

ammettiamo che il comando da eseguire sia:
start "C:\pinco pallino\nuova cartella\mio file.exe"

se lo scrivo in c++ usando il comando system dovrei fare:
system("start C:\pinco pallino\nuova cartella\mio file.exe");

che però è diverso visto che non posso mettere le virgolette che indicano che il percorso è uno e non più cose separate dello spazio.

come risolvo il problema?

PM Quote
Avatar
vince92 (Normal User)
Rookie


Messaggi: 29
Iscritto: 18/11/2008

Segnala al moderatore
Postato alle 0:18
Lunedì, 07/09/2009
Testo quotato

Postato originariamente da steve__92:

ho una domanda anche io...

ammettiamo che il comando da eseguire sia:
start "C:\pinco pallino\nuova cartella\mio file.exe"

se lo scrivo in c++ usando il comando system dovrei fare:
system("start C:\pinco pallino\nuova cartella\mio file.exe");

che però è diverso visto che non posso mettere le virgolette che indicano che il percorso è uno e non più cose separate dello spazio.

come risolvo il problema?



Il comando da eseguire lo dai senza virgolette.
Quando usi la funzione system le metti.
Con mio file.exe incontrerai dei problemi per colpa dello spazio, cerca di rinominare il file in mio_file.exe
Inoltre per usare il backslash devi utilizzare la sequenza di escape "\\"
quindi l'istruzione in C++ si traduce in:
system("start C:\\pinco pallino\\nuova cartella\\mio_file.exe");


PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 11:45
Lunedì, 07/09/2009
Testo quotato

Postato originariamente da steve__92:

ho una domanda anche io...

ammettiamo che il comando da eseguire sia:
start "C:\pinco pallino\nuova cartella\mio file.exe"

se lo scrivo in c++ usando il comando system dovrei fare:
system("start C:\pinco pallino\nuova cartella\mio file.exe");

che però è diverso visto che non posso mettere le virgolette che indicano che il percorso è uno e non più cose separate dello spazio.

come risolvo il problema?



Sequenze di Escape:
system("start \"C:\\pinco pallino\\nuova cartella\\mio file.exe\"");

Ultima modifica effettuata da manvb.net il 07/09/2009 alle 11:47


"E' facile distruggere, la vera sfida è creare!"(cit. me)

"Ricordati chi sei, non permettere a nessuno di cambiarti, non perdere mai te stesso. Farai grandi cose nella vita."(cit. me)

double penetration; //ouch
PM Quote
Avatar
steve__92 (Normal User)
Rookie


Messaggi: 22
Iscritto: 14/07/2009

Segnala al moderatore
Postato alle 17:04
Lunedì, 07/09/2009
Testo quotato

Postato originariamente da manvb.net:

Sequenze di Escape:
system("start \"C:\\pinco pallino\\nuova cartella\\mio file.exe\"");



grazie mille

PM Quote
Avatar
marc 966 (Normal User)
Rookie


Messaggi: 32
Iscritto: 04/09/2009

Segnala al moderatore
Postato alle 21:27
Lunedì, 07/09/2009
grazie a tutti per le vostre risposte.

PM Quote