2009-04-04 8 views
0

Comment simuler ces appels dans un programme? Comme dire que je veux trouver toutes les connexions actives. Donc, je veux utiliser netstat -a Comment pourrais-je utiliser cela sans avoir littéralement avoir une fenêtre ouverte?Programmer CMD en C

Répondre

6

Utilisez CreateProcess, en redirigeant la sortie.

Si l'application appelante n'est pas une application Windows, il n'y a pas de problème avec une fenêtre de console (car une console de programmation va, par défaut, héberger sa console parent).

Si l'application appelante est une application Windows, définissez les bonnes options transmises à CreateProcess pour définir par défaut la fenêtre de la console qui sera créée pour être masquée.

1

Il ya system() fonction de bibliothèque que vous pouvez utiliser - Je suppose que Windows l'a aussi parce que c'est la fonction C standard depuis C89.

0

Vous devrez utiliser l'option "/ B" de la commande 'start'.

cmd/C start "Titre"/B netstat -i

Je suppose console popping est votre principal problème, et vous une stratégie de collecte des données.

0

N'utilisez jamais le système() (pas professionnel, merdique)
Utilisez Win32 net apis.
Voir le code source de netstat.