CreateProcess Sans afficher fenetre d'execution [Résolu]

babylone2019 32 Messages postés mercredi 18 mai 2005Date d'inscription 29 mars 2008 Dernière intervention - 21 juin 2005 à 11:36 - Dernière réponse : babylone2019 32 Messages postés mercredi 18 mai 2005Date d'inscription 29 mars 2008 Dernière intervention
- 22 juin 2005 à 11:44
Bonjour,

Je lance une serie de script depuis mon programme.
Pour cela j'utilise :

PROCESS_INFORMATION pi;
STARTUPINFO si = {sizeof(si)};
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_HIDE;
...
CreateProcess(0,cmdLine2, 0, 0, 0,CREATE_SUSPENDED, 0, 0, &si, &pi);
...
les scripts lancer sont des batchs ou des perls.

je souhaiterais que leur fenetre d'execution ne s'affiche pas.

Quelqu'un aurrais une solution?
Merci d'avance
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
cs_Xaviou 154 Messages postés dimanche 1 avril 2001Date d'inscription 2 octobre 2009 Dernière intervention - 21 juin 2005 à 18:28
3
Merci
Essayes ceci:

CreateProcess(0,cmdLine2, 0, 0, 0,CREATE_SUSPENDED|DETACHED_PROCESS, 0, 0, &si, &pi);



C'est ce que j'avais utilisé (sans le CREATE_SUSPENDED) dans un prog
qui lançait des compressions de plusieurs dossiers avec le programme
dos "RAR.EXE".

Je ne voyais jamais la console, pour la simple et bonne raison que
celle-ci doit être explicitement créée par le processus s'il en veut
une (du moins, c'est ce que j'ai compris avec MSDN)

Merci cs_Xaviou 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de cs_Xaviou
Zootella 252 Messages postés vendredi 10 juin 2005Date d'inscription 5 septembre 2006 Dernière intervention - 21 juin 2005 à 11:54
0
Merci
system() n'affiche pas la fenetre je pense.
Commenter la réponse de Zootella
babylone2019 32 Messages postés mercredi 18 mai 2005Date d'inscription 29 mars 2008 Dernière intervention - 21 juin 2005 à 11:56
0
Merci
C'est ceque j'utilisais avant.
System m'affiche les fenetres.

Je commence à me demander si sa vientpas de mes script.
Commenter la réponse de babylone2019
Zootella 252 Messages postés vendredi 10 juin 2005Date d'inscription 5 septembre 2006 Dernière intervention - 21 juin 2005 à 12:04
0
Merci
c'est bien ça, system() n'affiche la fenetre que une milli seconde au début, donc ça doit être tes scripts.
Commenter la réponse de Zootella
babylone2019 32 Messages postés mercredi 18 mai 2005Date d'inscription 29 mars 2008 Dernière intervention - 21 juin 2005 à 12:08
0
Merci
ben je veut bien mais il y a toujours le retour d'execution des fonctions qui s'affiche dans ces script , non?
exemple:

@echo off
net use z: [file://serveur/repertoire \\serveur\repertoire]

ce genre de script me renvoi toujours le resultat a l'ecran
Commenter la réponse de babylone2019
Zootella 252 Messages postés vendredi 10 juin 2005Date d'inscription 5 septembre 2006 Dernière intervention - 21 juin 2005 à 12:28
0
Merci
tu dois récuperer le résultat ?



tu peux mettre le résultat dans un fichier text :



"net use z: [file://serveur/repertoire \\serveur\repertoire] > test.txt"



Puis le lire depuis ton programme.
Commenter la réponse de Zootella
babylone2019 32 Messages postés mercredi 18 mai 2005Date d'inscription 29 mars 2008 Dernière intervention - 21 juin 2005 à 13:56
0
Merci
j'en ai pas vraiment besoin.

enfin si, mais juste le code d'erreur, pas tout le texte qui s'affiche.

Mais la on s'ecarte un peut du sujet.

A chaque commande lancer la fenetre dos s'ouvre.
Et moi je veut pas que sa se voit.

1) sa me bousille l'affichage de ma dialog
2) l'utilisateur risque de flipper à voir 15 fenetre qui s'ouvre et se referme aussi tot.
Commenter la réponse de babylone2019
Zootella 252 Messages postés vendredi 10 juin 2005Date d'inscription 5 septembre 2006 Dernière intervention - 21 juin 2005 à 14:43
0
Merci
system("start "un_titre" test.bat");



HWND hWnd = FindWindow(0, "un_titre");



ShowWindow(hWnd, SW_HIDE);





Faudra esseyer.
Commenter la réponse de Zootella
HCJarod 221 Messages postés mardi 12 août 2003Date d'inscription 11 décembre 2008 Dernière intervention - 21 juin 2005 à 15:02
0
Merci
Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
Commenter la réponse de HCJarod
babylone2019 32 Messages postés mercredi 18 mai 2005Date d'inscription 29 mars 2008 Dernière intervention - 21 juin 2005 à 16:09
0
Merci
ben le problem c'est que ces saleter de fenetre dos s'affiche par dessus ma suberbe progress bar et les commentaire qui vont avec.

Mais sinon le programme tourne parfaitement....
Enfin plus ou moin.... ;-)
Commenter la réponse de babylone2019
HCJarod 221 Messages postés mardi 12 août 2003Date d'inscription 11 décembre 2008 Dernière intervention - 22 juin 2005 à 09:23
0
Merci
Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
Commenter la réponse de HCJarod
babylone2019 32 Messages postés mercredi 18 mai 2005Date d'inscription 29 mars 2008 Dernière intervention - 22 juin 2005 à 11:44
0
Merci
Bon c presque bon,

CreateProcess(0,cmdLine2, 0, 0, 0,CREATE_SUSPENDED|DETACHED_PROCESS, 0, 0, &si, &pi);

lors que je lance un net use grace a sa j'ai plus le retour "command success..." qui s'affiche. donc sa c bien.

Il me reste quant meme quelque script qui continue a afficher de retour console mais bon sa doit venir d'autre chose.

Merci a tous pour votre aide.
Commenter la réponse de babylone2019

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.