Получить вывод программы строки CMD из C ++ (в частности, netstat) - PullRequest
1 голос
/ 03 марта 2010

Я хочу иметь возможность запустить "netstat -n" и каким-то образом получить выходные данные, чтобы потом записать их в другой файл.

Как я могу сделать это в C ++ в Windows CE

Thankyou

Chris

Ответы [ 3 ]

3 голосов
/ 03 марта 2010

Вы должны вызвать CreateProcess и переопределить дескриптор процесса:

STARTUPINFO aInfo;
...
aINfo.hStdOutput = myHandle;
CreateProcess(..., &aInfo, ...);
0 голосов
/ 05 марта 2010

Я решил эту проблему, по сути, вызвав netstat из командной строки cmd, скопировав вывод в файл и затем используя его оттуда. Я полагаю, что ответ Керидо был правильным, но именно так я и получил его.

Затем этот код запускает cmd.exe и сообщает ему запустить netstat -n. Обратите внимание, что / c требуется, иначе cmd.exe не запустит код

int retVal = CreateProcessW(L"cmd.exe", L"/c netstat -n > \"/netstatoutput.txt\"", NULL, NULL, NULL, CREATE_NEW_CONSOLE, NULL, NULL, NULL, NULL);
0 голосов
/ 03 марта 2010

http://msdn.microsoft.com/en-us/library/ms682499%28VS.85%29.aspx

Но не совсем уверен, что он будет работать под CE

...