HELP !! executer une prog

Signaler
Messages postés
65
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
4 août 2010
-
Messages postés
65
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
4 août 2010
-
je prog sous gcc et je voudrai executer un second prog a partir de mon prog sans que ce dernier n'attende la fin du second prog
si vous avez une solution (si possible portable sous linux ET windows) pour moi ce serait cool
merci d'avance

Ben01n :question)

9 réponses

Messages postés
258
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
16 août 2004

Salut,
ShellExecute ou CreateProcess, mais je sais pas si c portable sur linux.
bye, Xentor609
Messages postés
31
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
16 juillet 2004

J'aimerais savoir comment je peux exécuter un fichier reg, kelkun peux m'aider SVP?
Parske ShellExecute il demande un handle en entrée et comme je suis en Application console sous VC++6, je comprends rien !

Un petit bout d'exemple?

Merci beaucoup,
None.
Messages postés
258
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
16 août 2004

Ben t'es pas oblige de lui passe un handle si y'en a pas besoin.
donc ca te donne ca:
int main()
{
ShellExecute(NULL,"open","c:\\toto.reg",0,0,SW_SHOWNORMAL);
return 0;
}

tu peux aussi passer "-s" au 4eme parametre a la fonction, qi tu ne veux pas qu'il te demande une confirmation d'ecriture.

bye, Xentor609
Messages postés
65
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
4 août 2010

en attendant j'en suis toujours au même point !
j'ai essayé avec :

system ("./monprog");


mais ça bloque le prog père ce qui n'est pas le but
si quelqu'un pouvait m'aider car là je vais me tirer une balle!!!

Ben01n :question)
Messages postés
258
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
16 août 2004

Tu devrais ptet montrer un morceau de ton code, pour voir ce qui ne vas pas, pasce que moi avec ShellExecute j'ai aucun probleme.
avec system() par contre, il attend que que le prog lance se termine pour continuer l'application.
Si tu veux appeler un prog sans bloquer l'execution du prog père utilise ShellExecute, il fonctionne tres bien.

int main()
{
//system("c:\\runMRU.reg"); la il bloque le prog pere
//system("test.exe"); pareil

ShellExecute(NULL,"open","test.exe",0,0,SW_SHOWNORMAL);
//le prog pere ne bloque pas

ShellExecute(NULL,"open","c:\\runMRU.reg",0,0,SW_SHOWNORMAL);
//le prog pere ne bloque pas

cout<<"ok, le prog ne bloque pas"<<endl;
return 0;
}


bye, Xentor609
Messages postés
1267
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
28 février 2007
3
Salut !
De toutes façons, il ne pourra pas utiliser ShellExecute(); il fait partie de l'API Windows (windows.h) alors qu'il est sous Linux...
Même, un system("monprog"); n'est pas portable: il faut faire system("./monprog"); sous linux, mais ça paut s'arrager avec des #ifdef __WIN32__

Sinon, tu pourrais peut-être regarder du côté de wxWindows (http://www.wxwindows.org)
C'est une librairie portable sous Linux Mac et Windows qui permet de faire des interfaces graphiques; je sais que normalement ça n'a rien à voir, mais elle a une fonction qui s'appelle wxExecute() et qui je crois permet ça (pas essayé).
Ce que tu peux faire, c'est aller sur le site et n'utiliser que wxBase; c'est une version de wxWindows qui ne permet pas de faire de fenêtres, de boutons... mais qui contient tout le reste de la librairie.

Voili voilou :)
Messages postés
258
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
16 août 2004

Autant pour moi, je savais pas qu'il etait sous Linux(je connai po du tout Linux :shock) !
Messages postés
65
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
4 août 2010

c'est bien mais ca repond pas a ma question tout ca !!!

Ben01n :question)
Messages postés
65
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
4 août 2010

merci mais je préfère utiliser des lib plus standard

Ben01n :question)