Toon posts:

programma's uitvoeren vanuit c++

Pagina: 1
Acties:
  • 52 views sinds 30-01-2008

Verwijderd

Topicstarter
ik wil een .exe aanroepen vanuit een c++ programma. hoe doe ik dit? dus bijvoorbeeld:

programma1.exe

programma2.exe

programma 1 wordt gestart, en programma 1 zorgt dat programma 2 gaat lopen (in een nieuw process dus dat programma 1 niet op nr2 gaat wachten

Verwijderd

Topicstarter
ben vergeten [C++] ervoor te zetten. dus als een admin langs komt. svp ff fixen, kan nergens edit vinden.

  • Exirion
  • Registratie: Februari 2000
  • Laatst online: 23:42

Exirion

Gadgetfetisjist

1. over welk OS heb je het?
2. Er bestaat zoiets als google. 1 woord: 'fork'.

"Logica brengt je van A naar B, verbeelding brengt je overal." - Albert Einstein


Verwijderd

ShellExecute(Ex) voor windows... Zie msdn :)
The ShellExecute function opens or prints a specified file. The file can be an executable file or a document file. See ShellExecuteEx also.

HINSTANCE ShellExecute(

HWND hwnd, // handle to parent window
LPCTSTR lpOperation, // pointer to string that specifies operation to perform
LPCTSTR lpFile, // pointer to filename or folder name string
LPCTSTR lpParameters, // pointer to string that specifies executable-file parameters
LPCTSTR lpDirectory, // pointer to string that specifies default directory
INT nShowCmd // whether file is shown when opened
);

[ Voor 3% gewijzigd door Verwijderd op 15-12-2004 14:17 ]


  • koli-man
  • Registratie: Januari 2003
  • Laatst online: 13-05 14:28

koli-man

Bartender!!!!

http://gathering.tweakers...exe%2Copstarten%2Cc%2B%2B
Maar wil je iets nog met die programma's doen of is het alleen maar het opstarten van die applicaties?

[ Voor 36% gewijzigd door koli-man op 15-12-2004 14:18 ]

Hey Isaac...let's go shuffleboard on the Lido - deck...my site koli-man => MOEHA on X-Box laaaiiiff


  • Exirion
  • Registratie: Februari 2000
  • Laatst online: 23:42

Exirion

Gadgetfetisjist

Verwijderd schreef op woensdag 15 december 2004 @ 14:17:
ShellExecute(Ex) voor windows... Zie msdn :)
UNIX/Linux: system()

"Logica brengt je van A naar B, verbeelding brengt je overal." - Albert Einstein


  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

In C++ kan dit zover ik weet niet. Je kan wel C++ libraries downen ervoor, of uitgaan van posix support bv. Of windows. Het gaat platform afhankelijk worden.

Dit leek me wel aardig, pstreams: http://pstreams.sourceforge.net/

(hmm .exe lijkt me windows, en dan gaat popen() denk ik niet lukken. zie ook hier http://lists.trolltech.co...999-09/thread00282-0.html )

[ Voor 26% gewijzigd door Zoijar op 15-12-2004 14:21 ]


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
Windows: system( )
OpenVMS: system( )
DOS: system( )
OSX: system( )

Leuk he, zo'n standaard :)

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • The End
  • Registratie: Maart 2000
  • Laatst online: 21:22

The End

!Beginning

Als we ze toch allemaal opnoemen:

CreateProcess (Windows)
CreateProcessAsUser (Windows)
CreateProcessWithLogonW (Windows)

:)

Verwijderd

Topicstarter
het is windows. ik wil gewoon een programma uitvoeren. en verder is er geen interactie tussen de programmas.

  • The End
  • Registratie: Maart 2000
  • Laatst online: 21:22

The End

!Beginning

MSalters schreef op woensdag 15 december 2004 @ 14:25:
[...]

Windows: system( )
OpenVMS: system( )
DOS: system( )
OSX: system( )

Leuk he, zo'n standaard :)
Ik zou trouwens op een Windows machine niet zo snel system gaan gebruiken. De mogenlijkheden van de call zijn erg beperkt (kan maar 1 ding). Over het algemeen vind ik het veel beter om (als je toch alleen voor Windows programmeerd) de specieke Windows API's te gebruiken.

Over het algemeen werken deze beter (vind ik) en zijn ze ook beter aan te passen als er eventuele problemen optreden (en die zullen zeker ook optreden...)

Verwijderd

Topicstarter
ik heb ff de documentatie gepakt van die shell execute. en dan krijg ik voorbeelden van 2 kantjes lang... kan iemand een voorbeeldje geven die wat korter is, ben nu al een uur aan het googelen en nog niets nuttigs gevonden.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 15-05 06:45
Wat is er nu mis met system? Dat is tenminste een standaardfunctie en als je niets bijzonders wil moet dat prima werken.

Verwijderd

Soultaker schreef op woensdag 15 december 2004 @ 15:21:
Wat is er nu mis met system? Dat is tenminste een standaardfunctie en als je niets bijzonders wil moet dat prima werken.
Nou, dit:
DESCRIPTION
system() executes a command specified in string by calling /bin/sh -c
string, and returns after the command has been completed.
Terwijl de TS dit vraagt:
Verwijderd schreef op woensdag 15 december 2004 @ 14:09:
programma 1 wordt gestart, en programma 1 zorgt dat programma 2 gaat lopen (in een nieuw process dus dat programma 1 niet op nr2 gaat wachten
;)

  • The End
  • Registratie: Maart 2000
  • Laatst online: 21:22

The End

!Beginning

Soultaker schreef op woensdag 15 december 2004 @ 15:21:
Wat is er nu mis met system? Dat is tenminste een standaardfunctie en als je niets bijzonders wil moet dat prima werken.
Waarom moet ik in Windows eerst expliciet alle streams flushen als ik system wil aanroepen. Waarom moet ik uberhaupt een windows executable via de command line starten? Wat gebeurd er als ik dit commando in een service aanroep? (Misschien ook een beetje een tekortkoming in de MSDN?)
Verwijderd schreef op woensdag 15 december 2004 @ 15:08:
ik heb ff de documentatie gepakt van die shell execute. en dan krijg ik voorbeelden van 2 kantjes lang... kan iemand een voorbeeldje geven die wat korter is, ben nu al een uur aan het googelen en nog niets nuttigs gevonden.
Dit is de documentatie?!?:
http://msdn.microsoft.com...unctions/shellexecute.asp

Staan vier voorbeelden van 1 regel?

[ Voor 34% gewijzigd door The End op 15-12-2004 15:37 ]


Verwijderd

WinExec()!

CreateProcess() heeft veel te veel parameters :p

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22:08

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op woensdag 15 december 2004 @ 14:09:
ik wil een .exe aanroepen vanuit een c++ programma. hoe doe ik dit? dus bijvoorbeeld:

programma1.exe

programma2.exe

programma 1 wordt gestart, en programma 1 zorgt dat programma 2 gaat lopen (in een nieuw process dus dat programma 1 niet op nr2 gaat wachten
Ik vind dat je wel wat meer moeite in een topicstart mag steken, en tevens van tevoren wat in de documentatie rond mag neuzen :/
P&W FAQ - de "quickstart"

[ Voor 6% gewijzigd door .oisyn op 15-12-2004 15:50 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1

Dit topic is gesloten.