2010-03-03 4 views

답변

0

나는 cmd 프롬프트에서 netstat를 호출하고 출력을 파일로 파이핑 한 다음 거기에서 사용함으로써이 문제를 해결했다. 나는 Kerido의 대답이 옳다고 믿습니다. 그러나 이것이 내가 어떻게 작동하는지입니다.

이 코드는 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

이 코드를 실행할 수 없습니다. GetLastError를 인쇄 할 때 오류 87이 발생합니다. 설명 할 수 있습니까? – shake

3

당신은 호출해야합니다 CreateProcess를 만들고 프로세스의 출력 핸들을 재정의하십시오.

STARTUPINFO aInfo; 
... 
aINfo.hStdOutput = myHandle; 
CreateProcess(..., &aInfo, ...); 
+0

안녕하세요 ... 감사합니다. – Chris

+0

특히 나중에 문자열로 액세스 할 수 있도록 myHandle을 어떻게 설정합니까? – Chris