Windows - Programmeret brug af CMD i C

Indlæg af Hanne Mølgaard Plasc

Problem



Hvordan kan jeg simulere disse opkald i et program?
Som om jeg vil finde alle de aktive forbindelser. Så jeg vil gerne bruge netstat -a
Hvordan kunne jeg bruge det uden at skulle bogstaveligt talt have et vindue åbent?

Bedste reference


Brug CreateProcess, omdirigere output.


Hvis den opkaldende applikation ikke er en Windows-applikation, er der ikke noget problem med et konsolvindue (fordi en konsolprogrammering som standard vil indgyde sin overordnede konsol).


Hvis den kaldende applikation er et Windows-program, skal du indstille de rigtige valgmuligheder, der sendes til CreateProcess, til at standardmønstret konsolvinduet, der oprettes til at være skjult.

Andre referencer 1


Der er system() biblioteksfunktion, du kan bruge - Jeg tror, ​​at Windows også har det, fordi det er standard C-funktion siden C89.

Andre referencer 2


Du skal bruge '/B' mulighed for 'start' kommando.


cmd/C start 'Titel'/B netstat -i


Jeg antager popping konsol er dit største problem,
og du en strategi for at indsamle dataene.

Andre referencer 3


Brug aldrig system () (ikke professionel, crappy)

Brug Win32 net apis.

Se kildekoden til netstat.