2010-03-03 62 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

相關問題