Ottenere l'output del programma a riga di comando da C ++ (in particolare netstat)
-
24-09-2019 - |
Domanda
Voglio essere in grado di eseguire "netstat -n" e prendere l'uscita in qualche modo che io possa poi scrivere fuori per un altro file.
Come posso fare questo in C ++ su Windows CE
Grazie
Chris
Soluzione 3
ho risolto questo essenzialmente chiamando netstat dal prompt cmd, pipe l'output in un file, e quindi utilizzando da lì. Credo che la risposta di Kerido di avere ragione, ma questo è come ho capito di lavoro.
Il codice quindi lanci cmd.exe e dirgli di correre -n netstat. Si noti che il / c è richiesto altro cmd.exe non lancerà il codice
int retVal = CreateProcessW(L"cmd.exe", L"/c netstat -n > \"/netstatoutput.txt\"", NULL, NULL, NULL, CREATE_NEW_CONSOLE, NULL, NULL, NULL, NULL);
Altri suggerimenti
Devi chiamare CreateProcess e sovrascrivere la maniglia di uscita del processo:
STARTUPINFO aInfo;
...
aINfo.hStdOutput = myHandle;
CreateProcess(..., &aInfo, ...);
http://msdn.microsoft.com /en-us/library/ms682499%28VS.85%29.aspx
Ma non abbastanza sicuro che funzionerà sotto CE