Comment cacher une fenetre msdos?

Signaler
Messages postés
4
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
25 mai 2004
-
Messages postés
154
Date d'inscription
samedi 3 août 2002
Statut
Membre
Dernière intervention
12 décembre 2008
-
je veux faire appel au programme tracert, mais enregistrer les informations retournées dans un fichier et non les afficher à l'écran. J'utilise actuellement la fonction system :

system("tracert www.google.fr>>google.txt");

les résultats sont enregistrés dans le fichier google.txt.

A présent je veux toujours faire la même chose mais je ne veux pas que l'on voit la fenetre de tracert.

Pour celà j'ai bien pensé à utliser la fonction ShellExecute, mais celle-ci ne veut pas accepter la sortie vers un fichier en paramètre ( >>google.txt)

Si quelqu'un a une idée .... je suis vraiment preneur parce que là ça commence à me gaver ...

8 réponses

Messages postés
60
Date d'inscription
mercredi 3 mars 2004
Statut
Membre
Dernière intervention
24 septembre 2004

essaye de mettre ça au début du prog
HWND hwnd = GetForegroundWindow() ;
ShowWindow(hwnd,SW_HIDE);
je sais pas si ça marche mais tu peut toujours essayer
Messages postés
398
Date d'inscription
jeudi 30 octobre 2003
Statut
Membre
Dernière intervention
15 juin 2007
2
ShellExecute permet la redirection, je pense que c'est la meilleure solution (et la plus simple)
Messages postés
4
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
25 mai 2004

Ha je veux bien voir comment faire parce que j'ai pas trouvé, la seule solution que j'ai trouvé c'est créer un .bat contenant ma ligne de commande et de faire appel à ce fichier... autrement dit c'est pas terrible, c'est ça marche mais c'est pas terrible lol
Messages postés
398
Date d'inscription
jeudi 30 octobre 2003
Statut
Membre
Dernière intervention
15 juin 2007
2
et bien comme ca :)

ShellExecute(0, "open", "tracert.exe", " www.google.fr >google.txt",0, SW_SHOW)

sachant que > écrase et >> ajoute à la fin (si je me trompe pas)
Messages postés
4
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
25 mai 2004

On y est justement, ça j'ai déjà essayé, mais la commande ne s'exécute pas correctement. Le tracert nous donne une jolie erreur, il prends www.google.fr >google.txt pour le dns à chercher.... au lieu de prendre www.google.fr comme dns et d'enregistrer les résultats dans google.txt

Si quelqu'un pouvait essayer pour confirmer ça serait cool car parce que pourtant j'arrive pas à voir pourquoi ça veut pas marcher lol c'est une simple commande :/
Messages postés
398
Date d'inscription
jeudi 30 octobre 2003
Statut
Membre
Dernière intervention
15 juin 2007
2
apres essai, ca marche pas chez moi non plus, ni avec CreateProcess
mystère ...
Messages postés
4
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
25 mai 2004

lol je me sens moins seul :D
merci d'avoir essayé :)
Le seul moyen que j'ai trouvé c'est de lancer le un batch avec la commande à l'intérieur ... là ça marche lol mais c'est pas très esthétique vu d'extérieur..
Messages postés
154
Date d'inscription
samedi 3 août 2002
Statut
Membre
Dernière intervention
12 décembre 2008

HWND hwnd = GetForegroundWindow() ;
ShowWindow(hwnd,SW_HIDE);

marche tres bien avec une fenetre msdos !

DarkBoss