Gå til innhold

Hvordan få et program til å starte et annet


Anbefalte innlegg

Jeg vil lage et program som starter et annet program x antall ganger, går det ann å bruke for loop til dette eller en anne form for loop. Hva er koden for å starte at et annet program.

 

 

Takker på forhånd for alle svar.

Lenke til kommentar
Videoannonse
Annonse
Jeg vil lage et program som starter et annet program x antall ganger, går det ann å bruke for loop til dette eller en anne form for loop. Hva er koden for å starte at et annet program.

 

 

Takker på forhånd for alle svar.

Sikkert noe alà slik:

system("command c:\mappe\fil.exe");

Lenke til kommentar

(For klarhets skyld: applikasjonen refererer til programmet du starter med system(), og programmet refererer til C/C++-programmet ditt.)

 

Vil også understreke at system() ikke returnerer før applikasjonen du har startet har kjørt ferdig.

 

På norsk: Du starter en applikasjon med system()-kommandoen. Applikasjonen kjører. Applikasjonen avsluttes. Først da går programmet videre. Altså, applikasjonen blir startet mange ganger etter hverandre, ikke mange ganger samtidig.

 

 

// Du kan selvfølgelig bruke en "numeric constant" 
// (f.eks. 5) i stedet for x_antall_ganger

for (int i = 0; i < x_antall_ganger; i++)
   system("C:\\winnt\\system32\\sol.exe"); // Kabal

 

 

For å bruke system() må du inkludere <cstdlib>

Endret av Myubi
Lenke til kommentar

Om du vil eksekvere programmet i en engen prosess gjør du noe ala:

 


if(!fork())
execv(<eksekverbar fil>, <argumentarray>);

 

execv har forsåvidt mange venner(execl, execlp, execle, execvp) - det er bare å bruke den funksjonen som passer deg best.

Lenke til kommentar
Er ikke fork() kode som bare fungerer i UNIX-kloner?

Jeg kan desverre intet om windows - men trådposter sier heller ikke oe om OS så vidt jeg kan se...

 

Men det må da finnes et eller annet prosessduplikeringskall i windows også?

Lenke til kommentar

OKok takker for hjelpen med det, men nå har jeg et nytt sprøsmål, hvis jeg vil at det ska starte for eks. 2 ganger samtidigt(sånn at jeg får opp 2 vinduer med det samme programmet i).

 

 

 

Takker for all hjelp.

 

 

 

 

ps: jeg bruker windows, ikke unix

Lenke til kommentar
  • 1 måned senere...

De fleste windows-programmer (og Linux-programmer for den saks skyld) tar et dokument-/filnavn som første argument, som betyr at du (sannsynligvis) kan åpne den med: mplayer.exe minfil.wmv

 

C++-koden overlater jeg som en "exercise to the reader" ;)

Lenke til kommentar
Takk for hjelpen, Lurte nemlig på det samme  :thumbs:

Men et spørsmåL:

Hvordan kan jeg få C programmet mitt til å starte en video-fil, vis jeg prøver å starte feks en WMV fil så får jeg opp en feilmelding... ??

Antar dette spørsmålet bare gjelder Windows. Da tror jeg det er ShellExecute (evt ShellExecuteEx) du er ute etter.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...