nevermind79
Messages postés7Date d'inscriptionvendredi 23 décembre 2011StatutMembreDernière intervention25 septembre 2014
-
21 mai 2010 à 16:32
nevermind79
Messages postés7Date d'inscriptionvendredi 23 décembre 2011StatutMembreDernière intervention25 septembre 2014
-
21 mai 2010 à 21:15
Salut à tous alors voila mon problème:
je programme en c sous dev c++ et mon programme lance un autre executable.
Il le lance grave à system("prog.exe");
Le problème, c'est le cmd.exe qui apparait au lancement du programme prog.exe.
Comment empecher ca?
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 21 mai 2010 à 16:38
Salut,
Si prog.exe est une application mode console, il est normal que la console ce lance.
Si tu veux masquer ton programme tu peux toujours passer par l'API ShellExecute, ou CreateProcess,...
Au pire avec un FindWindow et un ShowWindow tu devrait t'en sortir.
Autrement si tu as le code source de prog.exe, tu peux lui spécifier de démarrer en mode "caché".
nevermind79
Messages postés7Date d'inscriptionvendredi 23 décembre 2011StatutMembreDernière intervention25 septembre 2014 21 mai 2010 à 16:43
Prog.exe n'est pas un programme console et je n'ai pas son code source.
La console qui se lance, c'est celle 'c:\windows\system32\cmd.exe' et elle ne sert absolument a rien,...
et tu peux m'expliquer createprocces et shellexecute stp? ou me passer un petit lien avec exemple ca serait sympa ^^^^ merci
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 21 mai 2010 à 18:38
Si prog.exe n'est pas une application console, aucune console ne devrait s'ouvrir lors de l'appel à system.
La seule console qu'il reste est donc celle de ton programme. Si tu veux que ton programme ne soit pas visible tu as deux solutions :
- Tu transformes ton programme de "Console Application" à "Win32 Application" et tu ne définit aucun dialog dans la nouvelle application
- Tu conserves ton application en mode console et tu ajoutes les lignes suivantes au début de ton main. Le seul hic c'esr que tu vas voir la fenetre clignoter :
HWND hWnd = GetConsoleWindow();
ShowWindow( hWnd, SW_HIDE );
Shell
Vous n’avez pas trouvé la réponse que vous recherchez ?
nevermind79
Messages postés7Date d'inscriptionvendredi 23 décembre 2011StatutMembreDernière intervention25 septembre 2014 21 mai 2010 à 18:54
pour transformer en win32 application je fais comment? sous dev C++, dans les option de projet j'ai Win32 console et Win32 GUI et dll et library mais bon inutiles )
alors heu j'ai trouvé la commande FreeConsole(), elle fais egalement clignoter une seconde la console au lancement.
Mais voila en fait, j'ai un programme (A) qui lance mon programme (B, le programme console que j'ai fait) et ce programme lance un autre programme (C).
A lance B, B lance C.
lorsque je lance mon programme, on voit la console une demi seconde, mais lorsqu'il est lancé depuis un autre programme (ce que j'aimerais), la console reste une idée?