PDA

Visualizza la versione completa : [C++]lancio eseguibile da programma


bovy
20-05-2008, 00:24
ho creato una applicazione grafica con wxdevc++, e vorrei che cliccando sul pulsante inizia, partisse una animazione flash della quale ho creato un proiettore(.exe appunto).
quando facevo la stessa cosa utilizzando devc++, quindi senza interfaccia grafica ma in dos, mettevo:


system("c:/percorso/pluto.exe");

e andava, se lo faccio in wxdevc++, vedo che si apre il terminale( gi questo strano) e dopo una frazione di secondo sparisce (come un flash) e non parte niente, allora mi sorto il dubbio o che magari ci devo aggiungere qualcosa visto che utilizzo l'interfaccia grafica, oppure che il comando


system("c:/percorso/pluto.exe");

non va bene se uso una interfaccia grafica

ditemi voi...

MItaly
20-05-2008, 16:06
vedo che si apre il terminale( gi questo strano) e dopo una frazione di secondo sparisce (come un flash)
Questo non strano per niente, la funzione system non serve per lanciare eseguibili, ma per passare una stringa all'interprete dei comandi (su Windows solitamente cmd.exe o command.com), quindi normale che compaia per un momento la finestra.

non parte niente
Questo pi strano; comunque per lanciare eseguibili ti conviene usare le API apposite come la CreateProcess se lavori con le API di Windows.

bovy
20-05-2008, 18:16
comunque in teoria dovrebbe funzionare la system?

MItaly
20-05-2008, 19:38
Teoricamente s.
P.S.: nei percorsi usa i backslash (\), non gli slash normali (/); funzionano anche questi, ma in Windows il separatore di percorso il backslash.

bovy
20-05-2008, 19:43
si lo so..per mi dava errore se usavo il backslash

MItaly
20-05-2008, 20:10
Nelle stringhe C devi inserire due backslash, visto che il backslash singolo viene usato come carattere di escape.


system("c:\\percorso\\pluto.exe");

bovy
20-05-2008, 20:13
ok..adesso non mi da pi l'errore, per me lo continua a non aprire :dh: :dh:

Loading